Сайт одностраничный. Весь контент подгружается аяксом.
Вебсокет соединение (для чатов) устанавливается кодом на странице при первоначальной загрузке страницы:
var ws = new SockJS('http://' + window.location.hostname + ':12345/chat');
Используется библиотека sock.js
Так все работает.
Мне надо сделать, чтобы websocket проксировался через nginx.
В конфиге nginx написано:
location / {
if (!-f $request_filename) {
rewrite ^/(.*)$ /index.php?route=$1 last;
break;
}
#proxy_pass [url]http://localhost:12345/chat;[/url]
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "upgrade";
}
Эти две части между собой конфликтуют. Если закомментировать верхнюю и расскомментировать вторую - то будет вебсокет соединение, но не грузится сама страница. Если наоборот, то грузится страница, но нет вебсокет соединения с ошибкой WebSocket handshake: Unexpected response code: 200
Если расскоментировать обе, то вообще ничего не работает.
Что делать?
Это все - проксирование - нужно, чтобы не было возможности обращения к вебсокету с других сайтов или ресурсов.
Я вообще в ту сторону копаю??
Поясните, кто знает.