社区 首页 教程频道

Nginx 支持websocket的配置

2020-2-16 17:16
server {
      listen   80;
      server_name 域名;
      location / {
        proxy_pass   http://127.0.0.1:8080/; // 代理转发地址
     proxy_http_version 1.1;
        proxy_read_timeout   3600s; // 超时设置
        // 启用支持websocket连接
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
      }
      location /upload { // 静态资源地址
            root   /mnt/resources;        
      }
}
重要的是这两行,它表明是websocket连接进入的时候,进行一个连接升级将http连接变成websocket的连接。
proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";


proxy_read_timeout; 表明连接成功以后等待服务器响应的时候,如果不配置默认为60s;

proxy_http_version 1.1; 表明使用http版本为1.1 

解决 Nginx 400 Bad Request 问题(WebSocket)

  400 Bad Request 是一种 HTTP 错误状态码。HTTP/1.1 对 400 Bad Request的定义主要是:

  • 语义有误,当前请求无法被服务器理解
  • 请求参数有误
  • 丢包导致异常
  • websocket 配置成了全局 ,单独配置 websocket 的地址即可。


   location /webssh{
              proxy_pass http://localhost:5000;
              proxy_http_version 1.1;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection "upgrade";
   }

路过

雷人

握手

鲜花

鸡蛋
粉丝 阅读87 回复0
上一篇:
centos添加用户并赋予 root管理员权限发布时间:2020-01-07
下一篇:
Linux下KVM虚拟机基本管理及常用命令发布时间:2020-02-26

周一至周日9:00-18:00

反馈建议

service#bjjem.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! © 2001-2019