Есть приложение в /web/myapp/. Клиент подрубается к:
let socket = io.connect('http://domain.com/web/myapp/ ', {path: '/myapp'});
Прокся настроена так:
upstream myapp_socket {
ip_hash;
server 127.0.0.1:8080;
}
location /web/myapp/ {
proxy_pass http://myapp_socket/;
proxy_read_timeout 1000s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect off;
proxy_pass_request_headers on;
proxy_cache off;
proxy_buffering off;
}
Вопрос: почему все это не работает без этого указания на socket.io???location ~ ^/(socket\.io) {
proxy_pass http://myapp_socket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
А у вас без этого локейшена сокет работает?