sovok2, Если там реально websocket то nginx рекомендует делать через upstream
https://www.nginx.com/blog/websocket-nginx/
Если сайт находится на том же сервере, то почему бы не сделать вот так, зачем использовать sub домены? У тебя сертификат wildcard ?
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket {
server 0.0.0.0:8831;
}
}
server {
listen 443 ssl;
ssl_certificate /etc/ssl/nginx/syn-q.ru.crt;
ssl_certificate_key /etc/ssl/nginx/syn-q.ru.key;
server_name syqq.ru;
location /websocket {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
location /auth {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://localhost:3000;
}
}