将 Web 套接字请求从 Nginx 传递到 uWSGI 服务器
Posted
技术标签:
【中文标题】将 Web 套接字请求从 Nginx 传递到 uWSGI 服务器【英文标题】:Passing web socket requests from Nginx to uWSGI server 【发布时间】:2018-11-26 16:19:24 【问题描述】:我有 nginx 在服务器 a
(端口 8000)上运行,uWSGI
在服务器 b
(端口 8001)上运行。 b
已经在 ws://b:8001/s
提供了一个 Web 套接字。我想将a
配置为反向代理,也可以在ws://a:8000/s
访问此网络套接字。
我对 a
将原始 HTTP 请求中继到 b
和 b
启动协议升级感兴趣(如果我理解正确并且这是正确的方法)(如果没有代理),而不是在 a
启动协议升级,就像在 this 示例中发生的那样。
什么 Nginx location
块允许我这样做?
【问题讨论】:
【参考方案1】:事实证明,这足够直截了当。以下location
块显然可以解决问题(对于 Nginx 1.10.3 和 uWSGI 2.0.17.1):
location /s
proxy_pass http://b:8001/s;
proxy_http_version 1.1;
【讨论】:
以上是关于将 Web 套接字请求从 Nginx 传递到 uWSGI 服务器的主要内容,如果未能解决你的问题,请参考以下文章
Nginx 从特定路径为另一个域的 Django(uWSGI 套接字)提供服务
通过套接字连接将 https 代理请求传递到命名管道(node.js)