Я размещаю веб-сервер, который использует nginx в качестве обратного прокси-сервера для нескольких приложений, использующих веб-сокеты.
Для одного приложения - мне нужно nginx, чтобы пользователь ввел http://my_domain.com / app1 и будут направлены на http://127.0.0.1: 7000 / xyz / на сервере.
Следующая конфигурация nginx позволяет достичь этого.
server {
server_name my_domain.com;
location /app1/ {
proxy_pass http://127.0.0.1:7000/xyz/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
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-Host $server_name;
}
}
HTTP-запрос направлен правильно, и я вижу, что страница загружается правильно, за исключением связи через веб-сокеты.
Когда я настраиваю nginx следующим образом :
location / {
proxy_pass http://127.0.0.1:7000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
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-Host $server_name;
}
Это сопоставляет приложение со следующим URL-адресом http://my_domain.com / xyz / и связь через веб-сокеты работает правильно.
В чем проблема с этой конфигурацией