Node.js 和 Apache 在同一台服务器上,但 URL 不同

Node.js 和 Apache 在同一台服务器上,但 URL 不同

我在公司防火墙后面有一台服务器,只开放了 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 设置单独的虚拟主机。

相关内容