Nginx反向代理WebSocket连接错误怎么解决(nginx 反向代理 websocket)

Nginx反向代理WebSocket连接错误怎么解决(nginx 反向代理 websocket)

Nginx作为Web服务器一个重要的功能是反向代理。可用于管理从外部网络到内部网络的连接或任何特定请求。有些用户在本地socket测试无误后部署发现WebSocket connection to “xxx/xxx” failed 。导致Nginx反向代理的连接错误。这时该怎么解决?下面一起来了解下。

Nginx反向代理WebSocket连接错误怎么解决(nginx 反向代理 websocket)

相关阅读:《Nginx反向代理服务器配置教程》

从1.3.13版本开始。Nginx实现了特殊的操作模式。如果代理服务器返回带有代码101(切换协议)的响应。并且客户端通过请求中的“Upgrade”标头。Upgrade和Connection在内的标头不会从客户端传递到代理服务器。因此为了让代理服务器了解将协议切换到WebSocket。需要在反向配置中Nginx Location中添加以下代码:

location /chat/ {

proxy_pass http://backend;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection “upgrade”;

}

一个更复杂的示例。代理服务器请求中的“Connection”标头字段的值取决于客户端请求标头中“Upgrade”字段的存在。例如:

http {

map $http_upgrade $connection_upgrade {

default upgrade;

” close;

}

server {

location /chat/ {

proxy_pass http://backend;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

}

}

默认情况下。如果Nginx代理服务器在60秒内没有传输任何数据。连接将会被关闭。这里我们可以使用proxy_read_timeout指令增加此超时。或者代码服务器可以配置为定期发送WebSocket ping帧以重置超时并检查连接是否仍然存在。

分享到 :
相关推荐

租用海外云主机为什么这么便宜(租用海外云主机为什么这么便宜呢)

租用海外云主机便宜的原因有:1。海外云主机市场成熟规范。技术成熟。能降低云主机的生产...

论坛网站租用韩国服务器好吗(论坛网站租用韩国服务器好吗)

论坛网站租用韩国服务器好:1。韩国服务器不用备案。能快速部署上线网站;2。韩国服务器...

香港服务器需要备案么(香港的服务器做网站需要备案吗)

1、香港服务器需要备案么香港作为全球贸易和金融中心,拥有非常成熟的信息技术产业。许[...

在服务器怎么做单独页面301跳转(网页301跳转)

在服务器做单独页面301跳转的方法:例如网站源码是php语言。则可以用header[...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注