使用URL重写来解决Azure应用程序网关/ Web应用程序http限制

时间:2016-04-28 15:59:54

标签: url-rewrite-module azure-application-gateway

我基本上遇到了与Redirect HTTP to HTTPS in Azure Application Gateway所描述的相同的问题,但我正试图以不同的方式解决它。

当在AAG上打开http和https时,我的后端Web应用程序正常工作,但是当您单击webapp生成的链接到另一个页面时,发送回客户端的URL是http而不是https。显然,正确的解决方案是让Web应用程序意识到它是在反向代理之后并相应地生成链接。 在短期内,我一直在尝试使用IIS url重写模块:

a)使用入站规则,将传入的URL重写(不重定向)为https,这应该强制响应包含https URL(重定向导致infitite循环,因为AAG将所有内容转发到后端Web服务器作为http) 。我猜这是不可能的,因为它本质上在它自己之间建立了一个安全的通道。

b)使用出站规则,重写回复,使网址为https而不是http。事实证明这非常困难,因为我不了解我需要修改哪些部分的回复。我希望这种方法可行吗?

1 个答案:

答案 0 :(得分:0)

对于没有经验的人,答案是在出站规则中使用自定义标签,该标签与包含需要修改的值的html元素匹配。

缺点当然是这意味着网络服务器必须进行模式匹配&除非您可以使用条件来限制范围,否则请替换它所服务的每个页面。与修复代码相比,它仍然非常低效,因此它可以识别代理!

相关问题