在 Azure 应用程序网关卸载时如何要求 SSL?

How can I require SSL when I offload at an Azure application gateway?

我正在将我的 ASP.Net 网站转换为 Azure 托管。我正在使用具有 SSL 卸载功能的应用程序网关,因此我的个人负载平衡 Web 服务器没有安装 SSL 证书。由于 SSL 在应用程序网关上处理,我如何从客户端请求 SSL 并从 HTTP 重定向到 HTTPS?

不知道这是否有帮助。 https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-ssl-portal

如果您要迁移到 Web 应用程序而不是虚拟机,您可能需要配置端到端 SSL。

我通过 3 个独立的应用程序网关对近 300 个站点执行此操作运行,一旦您配置好它,它就会运行良好。

答案在于Listener/Rule对的配置。

每个站点需要两个侦听器(一个用于 HTTP,一个用于 HTTPS)和两个规则(同样一个用于 HTTP,一个用于 HTTPS)以实现此目的。

这里一步步为您布置:

1.创建一个新的 HTTP 侦听器:给它起一个像 'Listener_HTTP' 这样的名称,端口 80,HTTP 协议,多站点侦听器类型,像这样输入你的主机名:

2。创建一个新的 HTTPS 侦听器: 名称 'Listener_HTTPS,端口 443,HTTPS 协议,选择现有的或创建一个新的 SSL 证书,多站点侦听器类型,像这样输入您的主机名:

3。创建一个新的 HTTP 规则: 创建一个新的规则,名称 'Rule_HTTP'。在“侦听器”选项卡上,link 将其发送到在上面的第 1 步中创建的 HTTP 侦听器,如下所示:

在 'Backend Targets' 选项卡上,目标类型应为 'Redirection',重定向类型应为 'Found',重定向目标应为 您在上面的第 2 步中创建的 HTTPS 侦听器 如下:

4.新建一个HTTPS规则:新建一个规则,名称为'Rule_HTTPS',在'Listener'选项卡上指向上面第2步创建的HTTPS Listener,如下:

在 'Backend Targets' 选项卡上,将目标类型设置为 'Backend Pool' 并将其指向您选择的后端池和 HTTP 设置,如下所示(此答案假定您已经进行了这些设置):

瞧!你有它!任何直接命中 HTTPS 的请求都将直接进入后端池。任何命中 HTTP 的内容都将循环回 HTTPS 侦听器,从而有效地实现您正在寻找的强制重定向。