【问题标题】:Apache reverse proxy to dynamic portsApache 反向代理到动态端口
【发布时间】:2021-05-21 16:52:50
【问题描述】:

我可以将 Apache 配置为反向代理路径,例如 /foo/1234/bar/http://localhost:1234/bar/?换句话说,我想捕获部分路径作为反向代理的端口号。

我还必须使用相同的原理反向代理 websocket:/foo/1234/bar/wsws://localhost:1234/bar/ws

我有一个部分解决方案:

    RewriteEngine on
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteCond %{HTTP:Connection} upgrade [NC]
    RewriteRule    ^/foo/(\d*)/(.*)/ws$   ws://localhost:$1/$2/ws [P,L]
    RewriteRule    ^/foo/(\d*)/(.*)$      http://localhost:$1/$2 [P]

这似乎对 http 很有效,但是 websocket 没有被转发。我的日志中有一个 404:GET /foo/7681/xxx/ws HTTP/1.0" 404

【问题讨论】:

    标签: apache port reverse-proxy


    【解决方案1】:

    它确实有效。我的问题来自位于我的服务器之前的另一个反向代理。我把这个问题留在这里,因为它可以帮助其他人(我在其他任何地方都没有找到这个答案)。

    【讨论】: