NGINX SSL WebSocket проброс в Tomcat
Dimka
nginx-forum at nginx.us
Tue Jan 21 14:34:02 UTC 2014
Всем привет!
Настроил HTTPS и WebSocket в томкат.
Конфиг
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen *ВНЕШНИЙ АДРЕС*:443 ssl;
ssl_certificate /opt/keystore/cert2/server.crt;
ssl_certificate_key /opt/keystore/cert2/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
keepalive_timeout 70;
server_name сайт.cc;
access_log logs/https.access.log main;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy to Tomcat listening on 127.0.0.1:8080
#
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarfed-For $proxy_add_x_forwarded_for;
}
location ~ ^/(css|js|img) {
root /opt/tomcat/my_app/ROOT;
expires max;
}
location /websocket {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_redirect off;
proxy_buffers 8 32k;
proxy_buffer_size 64k;
}
}
Схема работает в chrome, ff, кроме safari
По HTTPS загружается страница с javascript ом и пытается установить связь с
вебсокетом, затыкается на подключении SSL соединения, в javascripte
срабатывает после подключения onClose с кодом 1006.
Wireshark ом смотрел, до Томката пакеты с запросом страницы проходят,
отдаётся страница, а пакеты вебсокета не долетают, затыкается на соединении
с NGINX.
В логах NGINX ошибок нет.
Кто-нибудь сталкивался?
Или может у кого есть идеи что поковырять.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,246662,246662#msg-246662
Подробная информация о списке рассылки nginx-ru