在Apache Proxy后面运行多个Node.js服务器

时间:2015-09-05 06:06:33

标签: node.js apache configuration proxy

我在不同的端口上运行多个Node.js服务器,并在我的客户端使用Websocket连接这些不同的服务器。客户端使用给定的服务器端口进行没有websocket的Ajax调用,一切正常。

现在的问题是,因为我使用非标准端口来运行多个node.js服务器,所以在从客户端进行调用时,它们被防火墙阻止。所以我想在它们之间引入一个Apache代理,并在标准端口80上将所有重新测试发送到apache,然后在后台与多个Node.js服务器进行交互。我试图在附件中解释现有和期望的senario。

需要您的帮助才能使其具有适当的Apache代理配置。 enter image description here

1 个答案:

答案 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>