我基本上有与这里描述的相同的问题Redirect HTTP to HTTPS in Azure Application Gateway但我试图以不同的方式解决它。
当在 AAG 上打开 http 和 https 时,我的后端 web 应用程序工作正常,但是当您单击 webapp 生成的指向另一个页面的链接时,发送回客户端的 url 是用于 http 而不是 https。显然,正确的解决方案是让 Web 应用程序知道它位于反向代理后面并相应地生成链接。在短期内,我一直在尝试使用 IIS url 重写模块,但失败了:
a) 使用入站规则,将传入 URL 重写(而不是重定向)为 https,这应该强制响应包含 https url(重定向会导致无限循环,因为 AAG 将所有内容作为 http 转发到后端 Web 服务器)。我猜这是不可能的,因为它本质上是在自身之间创建一个安全通道。
b) 使用出站规则,重写响应,使 URL 为 https 而不是 http。事实证明这非常困难,因为我不明白我需要修改响应的哪些部分。我希望这种方法可行吗?