如果主机名与Node不正确,则重定向

时间:2016-02-29 17:08:24

标签: node.js redirect iis https

我们在 IIS上使用http(端口80)托管了一个站点 我们在使用https(端口443)

的节点上托管了一个新网站

由于原因我不会涉及太多,我们不能使用IISNode来运行IIS上的所有网站。

此设置有效,除非有人使用https访问其中一个IIS托管网站。

重现:

http://nameprintgraphics.com - > IIS网站

https://npgcloud.com - >节点网站

但是,如果您输入https://nameprintgraphics.com,则会转到节点网站。我想阻止这种行为。由于节点正在侦听端口443,是否有办法验证主机名,如果它不正确,则将用户重定向到http。

我知道这是解决问题的一种令人费解的方式,但请与我一起找到解决此问题的临时解决方案。由于我尚未确定的原因,IISNode阻止了旧版Silverlight应用程序在IIS中运行。

1 个答案:

答案 0 :(得分:0)

为什么不在节点应用中检查req.headers.host,如果匹配,那么只需立即发送重定向响应?例如:

// You may/may not want to append the `req.url` to the destination as well
res.writeHead(302, { Location: 'http://nameprintgraphics.com' });
res.end();