2016-04-28 39 views
0

我基本上遇到與此處描述的相同的問題Redirect HTTP to HTTPS in Azure Application Gateway,但我試圖以不同的方式解決它。使用URL重寫來解決Azure應用程序網關/ Web應用程序http侷限性

當AAG上的http和https都打開時,我的後端Web應用程序正常工作,但是當您單擊由webapp生成的鏈接到另一個頁面時,發送回客戶端的URL是http not https。顯然,正確的解決方案是讓Web應用程序意識到它位於逆向代理的後面,並相應地生成鏈接。 在短期內,我一直在嘗試使用IIS url重寫模塊來嘗試和失敗:

a)使用入站規則,將傳入的URL重寫(不重定向)爲https,它應該強制響應包含https url(重定向會導致一個infiteite循環,因爲AAG會將所有內容都轉發到後端web服務器,如http)。我猜這是不可能的,因爲它本質上是創造一個安全通道。

b)使用出站規則,重寫響應,以便url是https而不是http。這被證明是非常困難的,因爲我不明白我需要修改哪些部分的答案。我希望這種方法是可能的,但?

回答

0

對於不熟悉的人,答案是在出站規則中使用自定義標籤,該出站規則與包含需要修改的值的html元素匹配。

缺點是當然,這意味着Web服務器必須執行模式匹配&替換它所服務的每個頁面,除非您可以使用條件來限制範圍。與修復代碼相比,效率仍然非常低,因此它具有代理意識!

相關問題