回答
收藏
分享
举报
nginx v1.20.1支持websocket配置吗?
提问于2024-04-02 12:00

浏览 3k

文章标签

由于服务升级成https了,websocket还是http的,前端通过ws://xxx报错跨域,将前端代码改成了wss,然后打算用nginx再代理回http的地址,现在代理配置了没生效,wss地址一直连接不通,nginx版本为1.20.1,请问会是版本太低导致的问题吗?1.20.1支持websocket配置吗?配置如下:

server {

       server_name serverName ;

       listen       port ssl;

       server_name  serverName;

       ssl_certificate      /etc/nginx/cert/server.crt;

       ssl_certificate_key  /etc/nginx/cert/server.key;

       ssl_session_cache    shared:SSL:1m;

       ssl_session_timeout  10m;

       ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;

       ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

       ssl_prefer_server_ciphers    on;



   location /mqtt {

       proxy_pass http://socketIp:port/mqtt;

       proxy_http_version 1.1;

       proxy_set_header Upgrade $http_upgrade;

       proxy_set_header Connection "upgrade";

       proxy_set_header Host $host;

       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 $scheme;

       proxy_read_timeout 60s;

       proxy_send_timeout 60s;

}

}



已修改于2024-04-02 12:00



写下您的回答
发表回答
全部回答(0)

按点赞数排序

按时间排序

提问者
7271079uljv
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

抓包对比下,包括:

1、不使用Nginx时,抓包看下Websocket的握手,包括在浏览器和Nginx上游服务上;

2、使用Nginx时,抓包看下Nginx上游服务。

从你的错误请求来看,貌似url的匹配出问题了,正常应该是返回101,但你返回 了404

点赞 0
浏览 6k


location / {
proxy_pass http://inter-router;
proxy_set_header Host ***;
proxy_http_version 1.1;
}
location ^~ /websocket/ {
proxy_pass http://inter-router/websocket/;
proxy_set_header Host ***;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
}

不要把websocket 配置放到通配符里面,那样就全部都是了,只对websocket部分,这样用,示例如上

点赞 0
浏览 4k