使用Node.JS将Ghost作为子域上的NPM模块运行
有没有办法使用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/并查看我的博客。 尽pipe现在可以工作,但我希望能够使用Node.JS在http://blog.example.com/上查看我的博客。
可悲的是,networking的工作方式阻止了你想要的环境。 为了实现这种function,您需要一个代理服务器来在整个应用程序的前面。 由于它的速度和广泛的使用,我build议NginX这个能力。
为什么这是不可能的?
在这个意义上说,networking是你绑定到一个IP和一个端口的系统。 当你绑定,没有别的可以绑定到同一个IP /端口。 由于一个域(和子域)只是指向一个IP地址,所以你不可能在networking级别分离这些连接。 这就是为什么添加Host
HTTP头。
NginX怎么做?
NginxparsingHost
头,并可以将连接发送到您的Ghost服务器,因为您希望它被转发到。 这也使您可以将主域( http://example.com )转发到您喜欢的任何网站,因此可以在同一个IP和端口上使用不同的应用程序。
这个答案包含了如何实现这个function的最佳方向。