ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: WebSocket проксирование



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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.