👋 欢迎来到吴老二技术博客,专注运维 / 数据库 / 云原生
首页/运维服务/正文

nginx 转发websocket

吴
吴老二
2023-08-10运维服务2201 次浏览0 条评论

要在 Nginx 中转发 WebSocket 连接,需要对其进行一些特殊的配置。以下是一个简单的示例:

 http {
     upstream websocket {
         server localhost:3000;
     }
     server {
         listen 80;
         location /websocket {
             proxy_pass http://websocket;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection "Upgrade";
         }
     }
 }

在这个示例中,我们首先定义了一个名为 websocket 的 upstream 服务器,它指向本地运行的 WebSocket 服务器。

然后,我们创建了一个新的虚拟主机,并将其绑定到端口 80 上。在该虚拟主机中,我们定义了一个新的位置(/websocket),用于接收所有 WebSocket 请求。

最后,在该位置上,我们使用 proxy_pass 指令将请求转发给 websocket upstream,并使用 proxy_http_version、proxy_set_header Upgrade 和 proxy_set_header Connection "Upgrade" 来启用 WebSocket 支持。

请注意,如果您的 WebSocket 服务器需要通过 HTTPS 进行连接,则需要使用 SSL/TLS 终止器来处理加密层。在这种情况下,请确保在 Nginx 配置文件中添加正确的 SSL/TLS 设置。

文章底部广告位在后台「广告设置」填写广告代码后显示

评论 0

评论需 登录 后发表(注册并验证邮箱)。
还没有评论,来抢沙发~