nginx反向代理 报错:Error during WebSocket handshake: Unexpected response code: 403

遇到nginx报错:websocket wss failed: Error during WebSocket handshake: Unexpected response code: 403

  server {
    listen 6340;
    location / {
      proxy_pass http://web;
      proxy_http_version 1.1;        #Nginx在与Node后端通信时使用HTTP/1.1,是WebSockets所必需的
      proxy_set_header Origin '';
      proxy_set_header Upgrade $http_upgrade;    #Nginx响应升级请求,当浏览器想要使用WebSocket时,该请求由HTTP启动
      proxy_set_header Connection "Upgrade";
    }
  }

代理 TCP和UDP

stream {
  upstream pptcp {
    server 10.10.10.10:9994;
    server 10.10.10.11:9994;
    }
  server {
    listen 9994;
    proxy_pass pptcp;
    proxy_connect_timeout 10s;
    proxy_timeout 3h;
    }
  upstream ppudp {
    server 10.10.10.10:9995;
    server 10.10.10.11:9995;
    }
  server {
    listen 9995 udp;
    proxy_pass ppudp;
    proxy_connect_timeout 10s;
    proxy_timeout 3h;
    }
  }

原文地址:https://www.cnblogs.com/fan-gx/p/nginx.html

时间: 2024-10-04 09:49:15

nginx反向代理 报错:Error during WebSocket handshake: Unexpected response code: 403的相关文章

struts2+websocket报错:failed: Error during WebSocket handshake: Unexpected response code:404

最近把websocket集成进项目里面来,打开网页总是会遇到这样的错误. 网上说的原因有3种,但是都不适合我,但是也记录下. 1.struts2截拦掉了ws的请求.这种援用可以尝试把web.xml清空,如果可以连接,则是这个问题.此时在struts.xml的配置文件中添加: <constant name="struts.action.excludePattern" value="ws://*"></constant> 对ws的请求不截拦. 2

websocket failed: Error during WebSocket handshake: Unexpected response code: 200

websocket+spring整合,不能访问, 解读源码: 原因:websocket_username=null,导致空异常 解决:给websocket session 添加用户名 //握手前,读取用户名,并赋值给websocket的session @Override public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler, M

nginx反向代理报错400

当用nginx做负载均衡的时候,nginx的配置文件如下: upstream server_pools { server 10.0.0.7:80 weight=1; server 10.0.0.8:80 weight=1; 当客户端访问时出现报错如下: [[email protected] ~]# curl www.hahaetiantian.org <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html>

Nginx反向代理报504超时错误

nginx+tomcat 后端为tomcat,nginx代理报504超时错误. 问题描述: #错误 1.198.17.123 - - [06/Jul/2018:01:48:57 +0000] "POST /mapbj3/getticket HTTP/1.1" 504 537 "https://XXXXXXXXXX.com/walkcode3/index.html?openId=oB6UW0cF3Z_dnYXnz4tG4OFt7Rt0" "Mozilla/5

Socket.IO failed: Error during WebSocket handshake:

在node安装了Socket.IO,做demo时报错 WebSocket connection to 'ws://localhost:8999/socket.io/?EIO=3&transport=websocket&sid=D0fxLuPwjHWgYSI7AAAB' failed: Error during WebSocket handshake: Unexpected response code: 400 WebSocket 握手时发生错误,诡异的是我前端页面没有关闭,重启服务器nod

nginx反向代理后端IIS持续报错504

故障:使用nginx反向代理后端的IIS服务器出现报错504 gateway time-out 在网上查找修改buffer等内容无法解决 在nginx的配置文件中 event{ accept_mutex off; } 问题解决

Nginx反向代理websocket配置实例

最近有一个需求,就是需要使用 nginx 反向代理 websocket,经过查找一番资料,目前已经测试通过,本文只做一个记录 复制代码 代码如下: 注: 看官方文档说 Nginx 在 1.3 以后的版本才支持 websocket 反向代理,所以要想使用支持 websocket 的功能,必须升级到 1.3 以后的版本,因此我这边是下载的 Tengine 的最新版本测试的 1.下载 tengine 最近的源码 复制代码 代码如下: wget http://tengine.taobao.org/dow

【Linux】采用nginx反向代理让websocket 支持 wss

背景:玩swoole 服务 使用Nginx反向代理解决wss问题. 即客户端通过wss协议连接 Nginx 然后 Nginx 通过ws协议和server通讯. 也就是说Nginx负责通讯加解密,Nginx到server是明文的,swoole 服务不用开启ssl,而且还能隐藏服务器端口和负载均衡(何乐不为). server { # 下面这个部分和你https的配置没有什么区别,如果你是 宝塔 或者是 oneinstack 这里用生成的也是没有任何问题的 listen 443; server_nam

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服