azure - 如何让 "HTTPS"/SSL 工作 - Azure WAF(应用程序网关)与 Linux 上的 2 个网站

标签 azure ssl https azure-application-gateway web-application-firewall

我在 Azure WAF(应用程序网关)上使用 SSL/HTTPS 时遇到问题(http/端口:80 工作正常)

我将尽可能基本地解释该场景:

开发人员在 AZURE 中的 Linux 前端服务器上创建了两个网站(在此示例中:X.comY.com) NSG 以及 Azure 应用程序网关 WAF

开发者将X.com和Y.com的DNS记录指向WAF的单一IP(appGatewayFrontendIP)

用户可以毫无问题地通过 http/port:80 浏览这两个网站。

<小时/>

目前的问题是如何让 SSL 正常工作:

开发人员已将 SSL 证书应用到 Azure 中 Linux Web 服务器上的两个网站

<小时/>

如何让 SSL 在 WAF 上运行?
我一整天都在浏览 MS Docs,但不太确定如何让它发挥作用 ( https://learn.microsoft.com/en-us/azure/application-gateway/create-ssl-portal )

我发现我们需要在里面放入 PFX 证书 - 我假设自签名证书不是正确的选择。然而,我不知道在这种情况下我该怎么做 -

如何获取 PFX 证书以及当您在单个前端 Linux 服务器上有 2 个网站时该证书如何工作 -

我是否需要取消前端 Linux 服务器上的 SSL 证书,而不是获取 .PFX 证书并通过 Azure 门户上传?

非常欢迎任何帮助! :)

谢谢

最佳答案

如果您希望前端(即公共(public) IP)提供 HTTPS,您需要将 PFX 证书分配给相应后端站点的监听器。

例如: XPfxCert 应分配给将流量引导至 X.com 应用的监听器 YPfxCert 应分配给将流量引导至 Y.com 应用的监听器

这将加密您的客户和 WAF 之间的流量。您需要从证书颁发机构(例如 comodoca.com)获取一个证书,以确保您的最终用户不会收到这些错误之一,就像您在使用自签名时在此处看到的那样: https://self-signed.badssl.com/

此外,您还需要不同的后端证书。这将加密 WAF 和您的应用程序之间的流量(即使它们都在 Azure 中,您仍然需要它)。它在 HTTPSettings 中分配。您也许可以在这里进行自签名;但是,在我们的工作中,我们使用 CA 为两者提供的证书。

最后,如果目标是在同一虚拟机上托管 X.com 和 Y.com,您应该能够配置基于路径的规则来适当引导流量。作为替代方案,您可以在虚拟机上拥有多个 NIC,并配置多个后端池以将流量定向到适当的站点。

引用文献:

关于azure - 如何让 "HTTPS"/SSL 工作 - Azure WAF(应用程序网关)与 Linux 上的 2 个网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397404/

相关文章:

iis-7 - 在 IIS7 上配置 SSL/证书时出现问题

ssl - 使用 BITS 忽略证书颁发机构(自签名)

user-interface - 用于创建 Azure 数据库表的 GUI

azure - DocumentDB REST API : x-ms-documentdb-partitionkey is invalid

azure - 如果我不想为 terraform 中的所有对象 map 提供值

java - Java 中的 HTTPS POST

java - Google 应用引擎拒绝 https 证书

azure - 多个 azure blob 容器的单个事件

amazon-web-services - 如何借助新的 AWS Certificate Manager 服务将 SSL 证书添加到 AWS EC2

python - 在 python 中使用请求时,出现以下错误 "TLSV1_ALERT_PROTOCOL_VERSION."为什么会发生这种情况?