简单案例:我有app1 - 这是一个ghost(site-blog.herokuapp.com
)的安装。我有app2,这是一个自定义express.js应用程序(site.herokuapp.com
)。
我想从site.herokuapp.com/blog
提供博客。
对于Ghost,这是config.js
production: {
url: process.env.BLOG_IDENTIFIER_URL,
fileStorage: false,
database: {
client: 'postgres',
connection: process.env.DATABASE_URL,
debug: false
},
server: {
host: '0.0.0.0',
port: process.env.PORT
}
},
BLOG_IDENTIFIER_URL
设置为site.herokuapp.com/blog
。
对于express.js应用,我有以下路由(对于/blog
):
router.all('*', function(req, res) {
// blog page is actually a ghost!
var blog_url = 'http://localhost:2368';
if (process.env.NODE_ENV === 'production') {
blog_url = 'http://site-blog.herokuapp.com';
}
req.headers.host = blog_url;
require('http-proxy').createProxyServer().web(req, res, { target: blog_url });
});
这在本地工作得非常好,但是当我将两个回购推送到heroku,并尝试访问site.herokuapp.com/blog
时,我只得到一个空白页面,而不是日志中的任何内容。请求失败但是:
我已经尝试了很多东西,无论是来自SO还是其他可见的互联网。似乎没什么用。我在这里呆了4个小时。如果您有任何可能有用的信息,请发表评论或回答。