如何使用mod_proxy在apache后面运行node.js时获取req.hostname
我的node.js应用程序使用req.hostname
为了redirect一些页面从HTTP到HTTPS是这样的:
app.get('*', function(req, res){ res.redirect('https://' + req.hostname + req.url); });
在localhost上运行应用程序时,这会很好地工作。 但是,当应用程序在mod_proxy后面的服务器上运行时,则req.hostname
不包含域名。 相反,它只包含localhost
。 我如何获得域名?
在你的Apache设置你必须添加这个:
ProxyPreserveHost On
这将告诉apache在做代理传递给你的节点应用程序时保留一个主机名