我有一个Apache-Server在端口80上运行我的PHP应用程序.PHP-Application通过端口3000与NodeJS-Server(socket.io)通信。
由于防火墙的限制,我应该只使用端口80.因此我需要在服务器内部指定一个像/ nodejs /这样在内部反转到端口3000(NodeJS)的URL。
使用Apache(mod_proxy)作为反向代理将NodeJS-Data转发到NodeJS是否更好(在性能方面)或者在NodeJS上做得更好(例如使用https://github.com/nodejitsu/node-http-proxy)因此NodeJS在端口80上运行并将所有非NodeJS-Data内部转发到Apache(然后在另一个端口上运行)?
我可能比普通的HTTP-Requests有更多的socket.io调用。
答案 0 :(得分:2)
如果您只是需要代理,您应该使用HAProxy之类的东西,这是专为此设计的。
Apache在代理方面并不擅长,因为它必须为每个连接分叉或启动一个新线程(从而失去Node的所有好处)。
除此之外,如果我需要优化的话,我根本不会使用Apache,NGINX作为服务器要好得多(例如,它甚至比Node.js更快地提供静态文件)。
如果您正在寻找Node.js代理解决方案,HTTP-Proxy和Bouncy是最好的:
资源: