Re: WebSocket проксирование
Ruslan Ermilov
ru at nginx.com
Mon Mar 11 09:14:46 UTC 2013
On Mon, Mar 11, 2013 at 03:10:24AM -0400, Modigar wrote:
> Необходимо спроксировать вебсокет через nginx по следующей схеме:
> Клиент -> HTTPS (WSS) -> nginx -> Local Server (WS).
> Т.е. если описать словами, то необходимо авторизироваться по SSL (в т.ч. и
> вебсокету) на nginx, а последний в свою очередь должен спроксировать
> вебсокет клиента на локальный вебсокет сервер без SSL.
> вопросы:
> 1. Возможно ли такое?
Да, почему нет.
> 2. Как это сделать?
Настроить HTTPS:
http://nginx.org/ru/docs/http/configuring_https_servers.html
Настроить проксирование WebSocket:
http://nginx.org/ru/docs/http/websocket.html
> 3. Если не возможно, то как быть с сертификатом для локального вебсокет
> сервера?
> 4. Как реализовать это в рамках одной машины (nginx, локальный вебсокет
> сервер и клиент на одной машине стоят), и при этом убедиться, что nginx
> проксирует?
http {
server {
listen 8000 ssl;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
location = /test {
proxy_pass http://echo.websocket.org/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
http://www.websocket.org/echo.html
Введите там адрес вашего настроенного сервера. Я с вышеприведенной
конфигурацией тестировал так: wss://127.0.0.1:8000/test.
Подробная информация о списке рассылки nginx-ru