为什么我在 Azure 应用程序网关中看到 403 forbidden?

Why do I see 403 forbidden in Azure application gateway?

无论我是否有侦听器 (443) 和规则,访问 https://www.example.com 时我看到的错误是:

403 - Forbidden

You don't have permission to access / on this server.

如果我在端口 443 上添加侦听器,附加有效的证书和规则,我会收到相同的错误消息。如果我挖掘 www.example.com,我可以看到它正在解析为应用程序网关的 public IP。

http://www.example.com 与端口 80 上的侦听器一起正常工作,并规则将流量定向到托管 Apache 的后端虚拟机。

我应该补充一点,这是使用 Azure 门户设置的。我应该使用 PowerShell 吗?一些论坛建议门户网站不稳定。

问题已解决,与我们遇到的重定向问题有关。

问题似乎是以下问题的组合:

  • 我们在端口 443 上有一个没有主机名的侦听器。

  • 当侦听器没有主机名时,基于路径的规则的顺序似乎很重要。

根据经验,基于路径的规则应该在基本规则之下。此外,如果应用程序网关用于多个站点,请确保为侦听器定义主机名。

我的应用程序网关配置了一个 multisite 侦听器。对我来说,我在监听器上选择了 Enable SSL Profile。我没有使用基于路径的规则并且 WAF 已关闭。

虽然我配置了 SSL 配置文件,但我猜证书中有错误。它(目前)处于预览状态,但我不认为我完全理解它应该做什么 - 需要更多阅读。

我可以使用 HTTP settings 下的 Use well known CA certificate 选项,而不是在侦听器上使用 SSL 配置文件。这解决了 403 错误。