如何仅将websocket请求从apache窗口重定向到另一台服务器?



我有一个 Apache2.4 配置,它适用于HTTPS请求。

现在,我正在尝试将wss(WebSocket(请求重定向到另一台服务器,它在那里运行(在同一台服务器上,但在端口8000上(。

<VirtualHost *:8080>
ServerAdmin YYYY.YYYY@XXXXX.com
SSLEngine on
SSLCertificateFile "D:/cert/certificate.cert"
SSLCertificateKeyFile "D:/cert/privatekey.key"
# This is how I tried to redirect.
RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) wss://127.0.0.1:8000/$1  [P,L]

My WebSocket URL:

wss://127.0.0.1:8000/ws/home

上述配置不起作用。请帮忙!

我点击浏览器的地方https://127.0.0.1:8080/页面加载了很长时间,屏幕上没有任何响应。

编辑-1:

我通过使用<Location 'path'>解决了.任何人都可以帮助我处理所有 WebSocket URL?

我已经使用以下代码解决了这个问题。

<VirtualHost *:8080>
ServerAdmin YYYY.YYYY@XXXXX.com
SSLEngine on
SSLCertificateFile "D:/cert/certificate.cert"
SSLCertificateKeyFile "D:/cert/privatekey.key"
<Location "/ws/home">
ProxyPass "wss://127.0.0.1:8000/ws/home"
</Location>

但这不会适用于所有 WebSocket URL。

相关内容

最新更新