【发布时间】:2015-03-23 16:06:05
【问题描述】:
我有 5 个域指向同一台机器,假设这些域是:
example1.com
example2.com
example3.com
example4.com
example5.com
- 我的服务器有一个由apache管理的虚拟主机文件,它控制着这5个域。
- 我有一个 node.js 应用程序在端口 3000 上运行。
如果我连接到 5 个域中的任何一个,并在最后输入 :3000,我可以看到 node.js 应用程序启动屏幕。
例如,如果我连接到example1.com:3000,它会为我提供可以通过连接到example2.com:3000 和example3.com:3000 等访问的同一页面(node.js 应用程序)。我理解为什么会发生这种情况。
但是,我正在尝试编辑我的配置以满足以下条件:
- 用户只能在输入
example5.com时连接到节点应用,而不能连接到任何其他域。 - 用户在尝试访问节点应用时无需输入端口号
example5.com:3000。
我搜索并找到了一些信息,这些信息让我相信这通常是通过设置反向代理来实现的,但我发现的大多数示例都是使用 nginx 或 node.js 来实现的。用 apache 找出一个反向代理解决方案会很好,这样我就不必用 node 或 nginx 重写我所有的虚拟主机逻辑。
【问题讨论】:
-
几篇值得一读的文章here.
-
嗯 - 基本上你的问题确实是'如何将 apache 设置为 node.js 的反向代理' - 因为这是唯一有意义的选项。向谷歌询问这个结果:garr.me/blog/…
标签: node.js apache port virtualhost reverse-proxy