Задать вопрос

Nginx 1.6.2 проблема с подключением websocket?

Здравствуйте! Подскажите что не так делаю, конфигурация системы: linux debian 8 (i386), nginx 1.6.2(устанавливал через менеджер пакетов nginx-full)+fastCGI. До версии nginx 1.3.13, нужно было подключать какой то сторонний модуль? Ознакомился со статьей: https://habrahabr.ru/post/171757/, конфигурацию настраивал и простым и более сложным способом по примеру. Изначально в конфигурации nginxa пытался unix:сокет(для fastcgi) и proxy_pass website запихать в один location на что nginx ругался, что привело к необходимости из javascripta обращаться к другому location,у который, в свою очередь отправлял бы на вышеупомянутый адрес весь ws:трафик. firefox пишет:
Firefox не может установить соединение с сервером ws://46.222.222.234/aa. Что делаю не так? Есть подозрения что все таки какой то модуль необходимо установить. В менеджере пакетов находил модуль lua-nginx-websocket, мож и для fastcgi+c есть какой нибудь, хотя пробовал на чистую html-страницу все перекидывать, все тоже самое. В чем может быть проблема? В error-логах ничего нет.
вот сами настройки:
location /aa{
proxy_pass 46.222.222.234/website;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

location /website{
#СТРОКА СОКЕТА ДЛЯ fastcgi
fastcgi_pass unix:/tmp/fastcgi/socket;
#/
#proxy_pass unix:/tmp/fastcgi/socket;
include fastcgi_params;
}
и javascript код:
function f_a()
{
var socket = new WebSocket("ws://46.222.222.234/aa");
socket.onopen = function() {
a_1.innerHTML+=("Соединение установлено.
");
socket.send("hello_world!");}
}
  • Вопрос задан
  • 632 просмотра
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@serious911
У меня работает такой конфиг:

location /websocket {
proxy_pass websockets/websocket;

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-Proto $scheme;

# WebSocket specific
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_cache_bypass $http_upgrade;

proxy_redirect off;
proxy_buffering off;
proxy_connect_timeout 43200000;
proxy_read_timeout 43200000;
proxy_send_timeout 43200000;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы