如何在WebSocket的%{REQUEST_SCHEME}中获取正确的值

时间:2019-05-30 20:10:35

标签: apache mod-rewrite websocket

我正在尝试代理websocket请求,这是我的尝试:

RewriteCond %{REQUEST_SCHEME} ^ws$
RewriteCond %{REQUEST_URI} ^/sockjs-node
RewriteRule /(.*) ws://localhost:4200/$1 [P,L]

我还通过以下行启用了proxy_wstunnel_module

LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

使用websocket协议请求apache时,将记录以下行:

  

[perdir C:/ wamp / www /] RewriteCond:input ='http'pattern ='^ ws $'=>   不匹配

为什么%{REQUEST_SCHEME}没有正确的方案?我的httpd.conf几乎没有修改,几乎像“开箱即用”的修改。

编辑:

我找到了这个答案Apache2 WebSockets reverse proxy on same URL,该答案使用以下RewriteCond集来识别网络套接字:

RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]

这是安全的情况吗?它会满足我的所有需求吗?为什么我不能简单地使用该方案?

0 个答案:

没有答案