Как настроить совместную работу NGINX и 3X-UI на одном сервере, чтобы VPN и веб-сайт функционировали одновременно?

Здравствуйте! Не подскажете, как настроить совместную работу NGINX и 3X-UI на одной виртуальной машине? При запуске NGINX в 3X-UI функционирует только панель управления, и хотя ошибок 3X-UI не отображается, при использовании прокси на телефоне ничего не загружается. Если попытаться настроить VLESS-протокол на порт 8443 и прописать `location proxy_pass: <a href="https://domain.ru:8443" rel="nofollow">https://domain.ru:8443</a>`, то VPN все равно не работает, даже при открытых портах 8443.
  • 29 октября 2024 г. 21:13
Ответы на вопрос 2
Для настройки совместной работы NGINX и 3X-UI (Xray) на одном сервере, чтобы и VPN, и веб-сайт функционировали одновременно, вам нужно правильно настроить конфигурацию NGINX для проксирования трафика. Вот общее руководство, как это сделать:

### 1. Убедитесь, что 3X-UI настроен правильно

Перед тем как настраивать NGINX, убедитесь, что ваш 3X-UI (Xray) работает корректно без NGINX. Протестируйте подключение через VPN, чтобы удостовериться, что всё функционирует правильно.

### 2. Настройка NGINX

Создайте или отредактируйте конфигурационный файл NGINX, например, `/etc/nginx/conf.d/vpn.conf` или `/etc/nginx/sites-available/vpn`.

```nginx
server {
    listen 80; # Поддержка HTTP
    server_name yourdomain.com; # Замените на ваш домен
    
    # Обработка HTTP-запросов
    location / {
        return 301 https://$host$request_uri; # Редирект на HTTPS
    }
}

server {
    listen 443 ssl; # Поддержка HTTPS
    server_name yourdomain.com; # Замените на ваш домен

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; # Путь к вашему SSL-сертификату
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # Путь к вашему ключу SSL

    # Настройка прокси для VPN (VLESS)
    location /vless/ {
        proxy_pass http://127.0.0.1:8443; # Замените на адрес и порт вашего 3X-UI
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # Настройка прокси для панели управления 3X-UI (если необходимо)
    location /admin/ {
        proxy_pass http://127.0.0.1:2020; # Порт панель управления 3X-UI
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # Статические файлы (если необходимо)
    location /static/ {
        root /path/to/static/files; # Замените путем к вашим статическим файлам
    }

    error_page 404 /404.html; # Настройка страницы 404
    location = /404.html {
        internal;
    }

    error_page 500 502 503 504 /50x.html; # Настройка страницы 500
    location = /50x.html {
        internal;
    }
}
```

### 3. Проверка конфигурации и перезапуск NGINX

После создания конфигурации проверьте её на наличие ошибок и перезапустите NGINX:

```bash
sudo nginx -t # Проверка конфигурации
sudo systemctl restart nginx # Перезапуск NGINX
```

### 4. Открытие портов в файрволе

Убедитесь, что порты 80, 443 и 8443 открыты в вашем файрволе:

```bash
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 8443
```

### 5. Конфигурация клиента

Настройте клиент VPN на использование вашего домена с соответствующим маршрутом.

### 6. Тестирование

После выполнения всех шагов протестируйте подключение вашего VPN и доступ к панели управления 3X-UI через NGINX.

Если что-то не работает, внимательно проверьте логи NGINX (`/var/log/nginx/error.log`) и логи вашего контейнера 3X-UI, чтобы выявить возможные ошибки.
https://coyotle.ru/posts/xray-and-nginx/ 

https://github.com/chika0801/Xray-examples/blob/ma...

А веб панели можно проксировать как любой сайт

Proxy pass с vless xtls reality работать не будет, это всё есть в документации Xray
Похожие вопросы