2016-02-29 29 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