使用Node.JS在子域上运行Ghost作为NPM模块

时间:2014-06-29 02:49:02

标签: node.js subdomain ghost-blog

有没有办法使用Node.JS在子域上运行Ghost?我可以在Node.JS上正常运行它,如:

App.Modules.Ghost = require('ghost'); /**< Ghost module. */
App.Apps.Ghost = App.Modules.Ghost({ config: '/Assets/Ghost/Config.js'.LocalFilePath }); /**< Create Ghost app. */

然后,我可以转到http://example.com/ghost/查看我的博客。虽然现在可以使用,但我希望能够使用Node.JS在http://blog.example.com/查看我的博客。

1 个答案:

答案 0 :(得分:2)

可悲的是,网络的运作方式可以防止你想要的环境。为了实现这种功能,您需要一个代理服务器放在整个应用程序的前面。由于其速度和广泛使用,我建议NginX使用此功能。

为什么这不可能?

从这个意义上讲,网络是绑定到IP和端口的系统。绑定时,没有其他任何东西可以绑定到同一个IP /端口。由于域(和子域)只是指向IP地址,因此无法在网络级别分离这些连接。这就是添加Host HTTP标头的原因。

NginX是如何做到的?

NginX会解析Host标头,并可以将连接发送到您希望转发到Ghost服务器的连接。这也允许您将主域(http://example.com)转发到您喜欢的任何网站,因此在同一IP和端口上使用不同的应用程序。

This answer包含有关如何实现此功能的最佳方向。