J'utilise wss (sockets Web sécurisés) avec ressort de backend et STOMP pour le client javascript.
Est-ce que quelqu'un sait pourquoi obtenir:
Handshake failed due to invalid Upgrade header: null
J'ai rencontré le même problème avec le proxy https nginx pour Tomcat. En effet, je n'ai pas pris en charge la demande wss. Pour prendre en charge la demande wss, j'utilise la configuration comme ci-dessous:
# WebSocketSecure SSL Endpoint
#
# The proxy is also an SSL endpoint for WSS and HTTPS connections.
# So the clients can use wss:// connections
# (e.g. from pages served via HTTPS) which work better with broken
# proxy servers, etc.
server {
listen 443;
# Host name to respond to
server_name ws.example.com;
# your SSL configuration
ssl on;
ssl_certificate /etc/ssl/localcerts/ws.example.com.bundle.crt;
ssl_certificate_key /etc/ssl/localcerts/ws.example.com.key;
location / {
# switch off logging
access_log off;
# redirect all HTTP traffic to localhost:8080
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $Host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support (nginx 1.4)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Enfin, j'ai trouvé la solution.
J'ai dû ouvrir un port https dans Tomcat pour gérer les demandes wss.