2016-02-29 34 views
-1

我们必须托管在网站IIS使用HTTP(80端口) ,我们有一个新的网站托管在使用节点HTTPS(端口443)重定向如果主机名不正确,与节点

至于原因,我不会进入太多,我们不能使用IISNode在IIS上运行所有网站。

除非有人使用https访问IIS托管的网站之一,否则此设置将起作用。

重现:

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

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

如果您在 https://nameprintgraphics.com然而键入

,你去点的网站。我想防止这种行为。由于节点正在侦听端口443,是否有验证主机名的方法,如果不正确,请将用户重定向到http。

我知道这有点复杂的方法来解决问题,但请与我一起找到解决此问题的临时解决方案。 IISNode正在阻止遗留的Silverlight应用程序在IIS中工作,这是因为我还没有确定。

回答

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(); 
+0

,因为它这样做了多个网站,而不仅仅是nameprintgraphics.com – BelgoCanadian

+0

你尝试有IIS做SSL/TLS终止,只是有一个反向(HTTP)代理我没有使用这种技术改为节点进程? – mscdex