编程技术分享平台

网站首页 > 技术教程 正文

Nginx配置WebSocket(Nginx配置超时时间)

xnh888 2024-10-06 05:07:01 技术教程 16 ℃ 0 评论

配置

location /ws {
    proxy_pass http://upstream_backend;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";

    # Nginx 转发 WebSocket 时需要设置为持久连接
    proxy_set_header Proxy-Connection "Keep-Alive";
    proxy_read_timeout 86400s; # 这里设置为一个很大的超时时间
}
  • upstream_backend: WebSocket 后端服务器的地址。
  • proxy_http_version:将 HTTP 版本设置为1.1,以确保升级头是受支持的
  • proxy_set_header Upgrade $http_upgrade;:将升级头设置为与客户端请求匹配的值
  • proxy_set_header Connection "Upgrade"; :将 Connection 头设置为 Upgrade,以反映要进行的协议更改
  • proxy_read_timeout: 默认60s,未设置的话,可能会导致连接断开,可以设置长一点,或者采用心跳机制(前端可以设置一个定时发送,这样时间可以设置小一点)

注意:

Upgrade、Connection:逐跳标头(只能传输一次,不能透传),后端ws程序根据这两个头携带的信息来判断是否使用ws协议来通信。


https对应wss://xxxx

http对应ws://xxx

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表