同一URL上的Apache2 WebSockets反向代理

金属

如果在相同的URL上创建Apache2代理WebSocket连接(例如,BrowserSync),而仅将标头“ Upgrade:websocket”和URL模式ws://区别开来,该如何配置呢?

例如:

HTTP request:
GET http://example.com/browser-sync/socket.io/?... HTTP/1.1
...

WebSocket request:
GET ws://example.com/browser-sync/socket.io/?... HTTP/1.1
Connection: upgrade
Upgrade: websocket
Sec-WebSocket-Version: 13
...

我发现的所有示例仅重定向某些路径,例如“ <Location / ws> ...”或“ ProxyPass / ws / ws://example.com/”

我当前的配置:

ProxyRequests off
<Location />
    ProxyPass http://127.0.0.1:3000/
    ProxyPassReverse /
</Location>

启用了mod_proxy,mod_proxy_http和mod_proxy_wstunnel。

金属

回答我自己。

使用RewriteEngine叙述,提示给出这个帖子,和WebSocket的握手规格:

RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:3000/$1 [P,L]

ProxyRequests off
<Location />
    ProxyPass http://127.0.0.1:3000/
    ProxyPassReverse /
</Location>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Apache2(反向代理)+ Django + Gunicorn

来自分类Dev

apache反向代理hhtps

来自分类Dev

使用 apache 反向代理

来自分类Dev

获取以nginx作为反向代理运行的Apache2

来自分类Dev

Docker容器的Apache2反向代理配置

来自分类Dev

Apache反向代理匹配请求

来自分类Dev

Apache反向代理无限循环

来自分类Dev

Apache骆驼作为反向代理

来自分类Dev

Apache 反向代理配置更改

来自分类Dev

在Ubuntu上设置反向代理

来自分类Dev

Zuul反向代理保留URL

来自分类Dev

修改 nginx 配置以正确反向代理 websockets

来自分类Dev

Apache反向代理更改状态代码

来自分类Dev

Traefik背后的Apache Nifi作为反向代理

来自分类Dev

特定子域的Apache反向代理

来自分类Dev

Apache反向代理更改状态代码

来自分类Dev

多个用户的同步 + apache 反向代理

来自分类Dev

Apache2代理反向断开Tomcat8链接

来自分类Dev

通过OpenID Connect进行身份验证并通过ldap进行授权的Apache2反向代理

来自分类Dev

使用Apache2作为反向代理重定向到URI

来自分类Dev

如何在Nginx上创建反向代理?

来自分类Dev

Nginx反向代理到URI上的Wordpress

来自分类Dev

Nginx 作为 IIS 上的反向代理

来自分类Dev

反向代理:不需要的URL更改

来自分类Dev

nginx url重写以实现反向代理

来自分类Dev

在反向代理后运行Symfony应用的URL

来自分类Dev

如何确定Apache是用作正向代理还是反向代理?

来自分类Dev

如何使用正向代理后面的Apache反向代理主机

来自分类Dev

Kibana 5.0 Apache代理和反向代理配置失败