在我的服务器上,我将Apache 2.4作为websocket应用程序的反向代理,该应用程序可以由http://localhost:3000启动。 使用以下虚拟主机配置调用http://serveraddress/可以正常工作:
ProxyPreserveHost On
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>
还是这个:
ProxyRequests Off
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:3000/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:3000/$1 [P,L]
ProxyPassReverse / http://localhost:3000/
现在,我需要使用http://serveraddress/applicationname来访问应用程序,并努力找出合适的重写语法。
任何帮助(或无法执行此操作的信息)将非常有用。