我正在尝试代理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]
这是安全的情况吗?它会满足我的所有需求吗?为什么我不能简单地使用该方案?