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的狀態。

先感謝每一個提示

相關內容