我在公司防火墙后面有一台服务器,只开放了 80 端口。有没有办法在同一个域上分别运行 Apache 和 Node.js,但使用不同的 URL?例如,我可以在 上运行 Apachemydamain.com
并在 上运行 Nodemydomain.com/vcard
吗?
答案1
可以。您有 3 种可能的设置:
- 节点监听端口 80,并将某些请求重定向到监听端口 8000 的 Apache
- Apache 监听端口 80,并将某些请求重定向到监听端口 8000 的节点
- 单独的反向代理(Nginx、HAProxy 或其他)将请求重定向到监听端口 8001 的 Apache 或监听端口 8002 的 Node。
鉴于 Apache 是您的企业服务器,第二种方式是最安全的。请阅读以下文档Apache mod_proxy 模块如何做到这一点。您可以为 Node 设置一个单独的“文件夹”(例如,所有请求到http://yourcompany.com/node/blabla由节点提供服务,而所有其他请求都由 Apache 提供服务,或者您可以为 Node 设置单独的虚拟主机。