nginx 和 apache 背后的 websocketserver

nginx 和 apache 背后的 websocketserver

如何通过 nginx 和 apache 建立 websocket 连接,其中两者都充当反向代理。

该系统在主机上安装了 apache,并在容器中安装了 tornado web 应用程序。

我的apache配置如下:

<LocationMatch /container_path/(?<app>(.+))/ws >
        ProxyPass                       "ws://container_ip/app_name/%{env:MATCH_APP}/ws"
        ProxyPassReverseCookiePath      "/"  "/container_path/"

</LocationMatch>

我的 nginx 配置类似如下:

upstream backend {
        server 127.0.0.1:8888;
}

server {
    listen 80;


    location ~ /ws$ {

        proxy_pass http://backend;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

通过此设置,我得到一个400 错误请求来自 tornado 的 WebSocketHandler 的状态。

提前感谢每一个提示

相关内容