Вы можете использовать Nginx как обратный прокси-сервер для направления запросов на два отдельных веб-приложения на заданном порту. Примерно так вы можете настроить SSL и использовать Nginx для проксирования поддоменов на два разных приложения на одном сервере: 1. Установите NGINX: ``` sudo apt-get update sudo apt-get install nginx ``` 2. Создайте два конфигурационных файла, каждый для своего приложения, в `/etc/nginx/sites-available` Файл `/etc/nginx/sites-available/app1` ``` server { listen 443; server_name app1.example.com; ssl_certificate /etc/nginx/ssl/app1.pem; ssl_certificate_key /etc/nginx/ssl/app1.key; location / { proxy_pass http://localhost:3000; # URL к вашему приложению с портом proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` Файл `/etc/nginx/sites-available/app2` ``` server { listen 443; server_name app2.example.com; ssl_certificate /etc/nginx/ssl/app2.pem; ssl_certificate_key /etc/nginx/ssl/app2.key; location / { proxy_pass http://localhost:4000; # URL к вашему приложению с портом proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 3. Сделайте эти конфигурации доступными: ``` sudo ln -s /etc/nginx/sites-available/app1 /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/app2 /etc/nginx/sites-enabled/ ``` 4. Проверьте наличие ошибок в конфигурации и перезапустите NGINX: ``` sudo nginx -t sudo systemctl restart nginx ``` Этот пример предполагает, что вы используете поддомены app1.example.com и app2.example.com и ваши приложения слушают 3000 и 4000 порты соответственно. Если в вашем случае другой адрес или порт - просто замените их в приведенном примере. Также будьте уверены, что указали правильные пути k .pem и .key файлам для SSL сертификатов.
Убедитесь, что в вашем конфигурационном файле отсутствуют настройки для reverse proxy. Если они есть, то нужно их удалить, чтобы избежать конфликтов. Кроме того, у вас возможно проблема с прослушиванием порта 443 на всех IP-адресах. Рекомендуется проверить и исправить эту проблему. Также обратите внимание, что аргумент "backlog=4096" должен быть указан только один раз в разделе "listen ...;". Использование ".include .../custom/certbot" также должно быть указано только один раз. Если необходимо, скопируйте его содержимое и вставьте в каждый файл "domainN.conf". Кроме того, проверьте наличие расширений у файлов, возможно, они отсутствуют.
Убедитесь, что в вашем конфигурационном файле есть настройки reverse proxy. В противном случае может возникнуть ошибка. Также стоит проверить, не пытаетесь ли вы прослушивать порт 443 дважды для всех IP адресов. Напомню, что аргумент "backlog=4096" следует указывать только один раз в блоке "listen ...;". Если вы используете файл включений ".include .../custom/cerbot", удостоверьтесь, что он указан только один раз. Еще стоит убедиться, что файлы имеют правильные расширения.