首页 > Web开发 > 详细

Nginx作为websocket的反向代理

时间:2020-12-18 20:29:37      阅读:56      评论:0      收藏:0      [点我收藏+]
使用nginx做websocket的反向代理在网上一找一大推,然后也按照这种方式进行了配置(其它配置忽略)

http {

        map $http_upgrade $connection_upgrade {
          default upgrade ;
          ‘‘ close ;
        }

    server{

                location /ws/ {
                proxy_pass http://192.168.3.1:9000/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;

                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             }
}

然而调试的时候得到了以下的响应

Handshake status 403 None
### closed ###

起初一直以为是后端服务器的问题,经过几番周转,最后发现还是nginx配置的问题,可以在location中添加以下的配置来解决这问题

proxy_set_header Origin ‘‘;

最终的正确配置为

http {

        map $http_upgrade $connection_upgrade {
          default upgrade ;
          ‘‘ close ;
        }

    server{

                location /ws/ {
                proxy_pass http://192.168.3.1:9000/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;
                proxy_set_header Origin ‘‘;

                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             }
}

Nginx作为websocket的反向代理

原文:https://blog.51cto.com/dengshuangfu/2566840

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!