我正在运行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/
你需要这样的东西:
<VirtualHost *:80> ServerName subdomain.mydomain.com ProxyPass / http://localhost:4567/ ProxyPassReverse / http://localhost:4567/ </VirtualHost>
当一个http请求被apache接收时,它必须决定应用哪个configuration。 当主机标题与虚拟主机的ServerName相匹配时,它将应用vhost中的configuration。
还要确保在代理websocket时启用了mod_proxy_wstunnel 。