Здравствуйте! Подскажите вообще такое возможно или нет ? Вот ссылка объясняющая механизм.
nginx.org/ru/docs/http/websocket.html Но делая как там написано обращение к чату через javascript wss возвращает (ошибку onclose: 1015).
Схема, как хотелось-бы чтобы работало.
___________ ____________
wss(https) | | ws(http) | |
user ----> | Nginx |----------> | php socket chat
|__________ |< ---------- ____________|
Что мне нужно, у меня есть сервер, на нем установлен апач, nignx, запущен через php сокет сервер чата, хорошо работает если к нему обращаешься с другого сервера через javascript по протоколу
ws://сайт-сервером.ru:port. Ответы присылаются, быстро. В начале думал переведу сервер чата на SSL и все будет хорошо, после настройки скрипта php сервера сокет стал тупить, соединение занимает по 5 - 10 секунд. Соединение происходит и то не всегда. Хотя по незащищенному протоколу моментально. Поэтому и начал искать конструкцию, которая сможет через nignx шифровать и получать пакеты. Eсли сайт с чатом открываешь по https, открывается моментально, что не скажешь если криптографией занимается скрипт soket php.
Сейчас на сервере в настройки nignx у меня эта конструкция
location / {
proxy_pass
127.0.0.1:81;
proxy_redirect
127.0.0.1:81 /;
include /etc/nginx/proxy_params;
}
Заменив на это из инструкции
nginx.org/ru/docs/http/websocket.html , вообще перестал создаваться socket php сервер
location / {
proxy_pass
127.0.0.1:81;
proxy_redirect
127.0.0.1:81 /;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
include /etc/nginx/proxy_params;
}
Возможно-ли через javascript wss обращение к серверу nignx получить доступ к серверу ws ???? Как это сделать, что мне не хватает в понимание всего механизма.