我的 node.js 应用程序使用 req.hostname
将某些页面从 HTTP 重定向到 HTTPS,如下所示:
app.get('*', function(req, res){
res.redirect('https://' + req.hostname + req.url);
});
在本地主机上运行应用程序时,这非常有效。但是,当应用程序在 mod_proxy 后面的服务器上运行时,req.hostname
不包含域名。相反,它只包含 localhost
。如何获取域名?
最佳答案
在您的 apache 设置中,您必须添加以下内容:
ProxyPreserveHost On
这将告诉 apache 在向 Node 应用程序进行代理传递时保留主机名
关于node.js - 使用mod_proxy在apache后面运行node.js时如何获取req.hostname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40574786/