【发布时间】:2019-07-05 14:58:44
【问题描述】:
我想要做的是将每个 websocket 初始化代理到 "ws://localhost:8081" 并将其余流量直接代理到 http://localhost:80801
我使用[P] 标志让它工作,但是不鼓励这样做,因为它不使用连接池。
想法是如果设置了标头,则将请求重写为/websocket,然后如果url是/websocket,则proxypass到ws端点。
但是,这不适用于 WS(适用于 http)
#rewrite for websockets
RewriteEngine On
LogLevel alert rewrite:trace8
RewriteCond "%{HTTP:Upgrade}" "websocket"
# RewriteRule "" "ws://localhost:8081" [P] works via proxy like that
RewriteRule "" "/websocket" [L]
ProxyPass /websocket "ws://localhost:8081"
ProxyPassReverse /websocket "ws://localhost:8081"
ProxyPass / http://localhost:8081/
我做错了什么?
【问题讨论】:
标签: apache httpd.conf