我在不同的端口上运行多个Node.js服务器,并在我的客户端使用Websocket连接这些不同的服务器。客户端使用给定的服务器端口进行没有websocket的Ajax调用,一切正常。
现在的问题是,因为我使用非标准端口来运行多个node.js服务器,所以在从客户端进行调用时,它们被防火墙阻止。所以我想在它们之间引入一个Apache代理,并在标准端口80上将所有重新测试发送到apache,然后在后台与多个Node.js服务器进行交互。我试图在附件中解释现有和期望的senario。
答案 0 :(得分:1)
您可以尝试使用虚拟主机和代理传递,例如。
<VirtualHost *:80>
ProxyRequests off
<Proxy *>
Order deny,allow
#Require all granted
Allow from all
</Proxy>
ProxyPass /A?query http://example.com/app
ProxyPassReverse /A?query http://example.com/app
ProxyPass /B?query http://localhost:8081/$1
ProxyPassReverse/B?query http://localhost:8081/$1
ProxyPassMatch "^(/.{1,})$" http://localhost:8082/$1
ProxyPassReverse "^(/.{1,})$" http://localhost:8082/$1
</VirtualHost>