node.js - 如何将不同的子域指向同一服务器上的不同应用程序? (使用node.js作为代理?)

标签 node.js apache web subdomain

我正在设置一个 Node.js 服务器,但我还希望同时在该服务器上运行 Apache。 Node 将成为主网站,并且会有指向 Apache 的子域。

我能想到的唯一方法是让不同的应用程序监听不同的端口,然后使用代理应用程序监听端口 80,然后根据使用的子域“重定向”端口。我不确定这是否是正确的方法,或者如果是正确的方法该怎么做。

研究表明,可以使用 Apache 作为此代理,但如果不需要,我会更喜欢它。如果我能以某种方式使用 node.js 来做到这一点,那就太棒了(我的首选解决方案)。如果这是不切实际/不可能的,那么我当然愿意接受其他想法。

我非常感谢有关如何执行此操作的指导。

最佳答案

您想要一个可以同时服务 Node.js 和 Apache 的解决方案,并且您希望让 Node.js 进行反向代理。但是,最好使用专为反向代理(Nginx、HAProxy)设计的程序来完成该工作。使用 Node.js 作为反向代理服务器效率很低。

Nginx 是我推荐的。简单高效。您可以让 Nginx 服务器位于最前端,接收所有请求。

以下是如何设置 Nginx 以反向代理到 Node

http://www.nginxtips.com/how-to-setup-nginx-as-proxy-for-nodejs/

以下是如何设置 Nginx 来反向代理 Apache

http://www.howtoforge.com/how-to-set-up-nginx-as-a-reverse-proxy-for-apache2-on-ubuntu-12.04

只需将两者的设置文件结合起来,就可以同时为apache和node提供服务。

关于node.js - 如何将不同的子域指向同一服务器上的不同应用程序? (使用node.js作为代理?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20580277/

相关文章:

javascript - 排除 Express.js 路由中的单词列表

ruby-on-rails - 在 Apache 服务器上哪里存储 Rails 站点?

javascript - 如何查找网站中使用的 Javascript 库版本?

javascript - 内容更新时返回 'version mismatch' 的内容 API

node.js - 通过 Node.js 运行 bash 脚本 - 非法选项 -o pipelinefail

angularjs - 使用 nginx 和 ssl 配置 prerender.io

java - 使用 Selenium WebDriver 和 Java 从页面源获取所有 href 链接

apache - Mod rewrite htaccess - 重写规则中的两个变量

python - apache 日志中没有任何内容的 500 错误

python - 如何使用用户输入作为参数运行 .py 脚本