3

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

4

2 回答 2

4

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

答案在于监听器/规则对的配置。

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

在这里,它为您逐步布置:

1. 创建一个新的 HTTP 侦听器:给它一个名称,如“Listener_HTTP”,端口 80,HTTP 协议,多站点侦听器类型,输入您的主机名,如下所示:

在此处输入图像描述

2.创建一个新的HTTPS监听器:名称'Listener_HTTPS,端口443,HTTPS协议,要么选择现有的,要么创建一个新的SSL证书,多站点监听器类型,输入你的主机名,如下所示:

在此处输入图像描述

3. 创建一个新的 HTTP 规则:创建一个新的规则,命名为“Rule_HTTP”。在“侦听器”选项卡上,将其链接到上面第 1 步中创建的 HTTP 侦听器,如下所示:

在此处输入图像描述

在“后端目标”选项卡上,目标类型应为“重定向”,重定向类型应为“找到”,重定向目标应为您在上述步骤 2 中创建的 HTTPS 侦听器,如下所示:

在此处输入图像描述

4. 创建一个新的 HTTPS 规则:创建一个新规则,名称为“Rule_HTTPS”,在“监听器”选项卡上将其指向在上面步骤 2 中创建的 HTTPS 监听器,如下所示:

在此处输入图像描述

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

在此处输入图像描述

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

于 2021-06-17T23:15:49.280 回答
0

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

如果您要迁移到 Web 应用程序而不是 vms,您可能需要配置端到端 ssl。

于 2018-01-10T17:18:16.500 回答