【发布时间】:2021-05-21 16:52:50
【问题描述】:
我可以将 Apache 配置为反向代理路径,例如 /foo/1234/bar/ 到 http://localhost:1234/bar/?换句话说,我想捕获部分路径作为反向代理的端口号。
我还必须使用相同的原理反向代理 websocket:/foo/1234/bar/ws 到 ws://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