我正在运行 Apache 2.4。我的情况是,我在 上运行一个 Web 应用程序:4567
,我想将其代理到subdomain.mydomain.com
目前,我已按照应用程序文档进行设置,但它正在将其代理到mydomain.com
。这是我的代理设置(来自 httpd.conf 的底部)
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /socket.io/1/websocket ws://127.0.0.1:4567/socket.io/1/websocket
ProxyPassReverse /socket.io/1/websocket
ws://127.0.0.1:4567/socket.io/1/websocket
ProxyPass /socket.io/ http://127.0.0.1:4567/socket.io/
ProxyPassReverse /socket.io/ http://127.0.0.1:4567/socket.io/
ProxyPass / http://127.0.0.1:4567/
ProxyPassReverse / http://127.0.0.1:4567/
答案1
你需要这样的东西:
<VirtualHost *:80>
ServerName subdomain.mydomain.com
ProxyPass / http://localhost:4567/
ProxyPassReverse / http://localhost:4567/
</VirtualHost>
当 apache 收到 http 请求时,它必须决定应用哪种配置。当主机头与ServerName
虚拟主机的匹配时,它会应用 vhost 内的配置。
还要确保你有修改代理服务器代理 websocket 时启用。