2016-04-28 34 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服务器必须执行模式匹配&替换它所服务的每个页面,除非您可以使用条件来限制范围。与修复代码相比,效率仍然非常低,因此它具有代理意识!