WebSocket connection to 'wss://api.a.com/?userId=13' failed: Error during WebSocket handshake: Unexpected response code: 403

其他环境
¥10.00
WebSocket connection to 'wss://api.a.com/?userId=13' failed: Error during WebSocket handshake: Unexpected response code: 403


最佳答案

原因分析

WebSocket服务端响应403表示禁止访问,也就是没有权限访问您当前资源(可能是因为跨域?)。可以通过设置HTTP响应标头,允许所有资源访问

ASP.Net项目,如果托管在IIS中,可以给相应得网站添加HTTP响应标头即可

Access-Control-Allow-Origin:*

图片.png



也可以在web.config里面system.webServer > httpProtocol > customHeaders 节点下添加:

 <add name="Access-Control-Allow-Origin" value="*"/>


如果配置Nginx反向代理,则需要在NGINX里面添加如下配置:

    server {
            ...
     
            location /chat/ {
                proxy_pass http://backend;
                proxy_set_header Origin '';
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
            }
        }




别说我现实 T0 被采纳率100%
2020-12-15 09:44
打赏 0 0
页面统计
191 访问
0 帮助
0.00 打赏

hierror 2019 © hierror.com 京ICP备13026190号-1

通知消息
  • 暂无任何消息