我从letsencrypt添加了SSL证书,并使用Nginx进行了配置,但无法使用WSS连接到WebSocket。如果将配置更改为WS,它将正常工作。以下是配置文件
cwdobuhd1#
开始测试一下你的WebSocket服务器是否可以和PieSocket websocket tester一起工作,你可以使用他们的chrome扩展来测试ws版本。然后编辑你的nginx配置,并尝试以下,它为我工作:
map $http_upgrade $connection_upgrade { default Upgrade; '' close; } location / { proxy_pass http://channels-backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_redirect off; proxy_read_timeout 86400s; proxy_send_timeout 86400s; keepalive_timeout 86400s; # prevents 502 bad gateway error proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header Host $host; reset_timedout_connection on; }
你可以用/ws/代替/,但是我强烈建议你为你的WebSocket服务器使用一个专用的子域,而不是path,以便于将来的扩展。
/ws/
/
1条答案
按热度按时间cwdobuhd1#
开始测试一下你的WebSocket服务器是否可以和PieSocket websocket tester一起工作,你可以使用他们的chrome扩展来测试ws版本。
然后编辑你的nginx配置,并尝试以下,它为我工作:
你可以用
/ws/
代替/
,但是我强烈建议你为你的WebSocket服务器使用一个专用的子域,而不是path,以便于将来的扩展。