我一直在与 Azure 支持工程师一起尝试解决这个问题,但他无法确定问题所在,所以我希望这里有人遇到过这种情况:
我们已经设置了我们的第一个 Azure 前门 - 此阶段的配置非常简单 - 后端池仅包含我们的一个 Web 应用程序(Azure 应用程序服务)和一个仅转发来自前门 URL 的所有请求的路由到 Web 应用程序 URL。
问题:我们发送的每个请求都提供了 403 禁止错误。
我所做并确定的:
Azure Web 应用具有网络安全限制,仅允许某些 IP 地址访问 URL。我的 IP 地址是列表的一部分,如果我直接访问 Web 应用程序 URL ,一切都会按预期工作。如果我尝试访问 Front Door URL,我会收到 403 Forbidden 错误。
作为测试,我设置了第二个没有 IP 限制的 Azure Web 应用程序,并将其添加到 Front Door 的后端池中。我可以毫无问题地通过前门访问该站点。但是,只要我在网络限制列表中添加了一个允许条目(在本例中为我的 IP 地址),我在转到 Front Door URL 时就会收到 403 错误。
作为另一项测试,我什至将 0.0.0.0 添加到 IP 限制列表以允许全部 - 即使这样,在尝试访问前门 URL 时仍然会收到 403 错误。在所有测试用例中,我都可以直接访问 Web 应用程序 URL 而不会出现任何错误。
我还完全禁用了 Front Door WAF,以确保其中没有任何内容导致 403 错误。同样的事情 - 403 无论如何点击前门 URL。
最后 - 我在每次测试之间对 Front Door 缓存进行清除,以确保没有任何东西被捕获。
这似乎是 Front Door 和在 IP 限制中有任何条目的 Web 应用程序可能存在的错误?这对我来说会非常令人困惑,因为我们不能期望我们在没有 IP 限制的情况下让我们的非面向公众的网络应用程序 URL 对网络开放?有没有人经历过并解决了这个问题?
编辑 1:Azure 支持工程师为我提供了 Front Door 服务的 IP 地址,以添加到 Web 应用程序的允许列表中。我添加了,但仍然没有运气 - 只有 403。似乎如果该网络限制列表中有任何内容,前门无法按预期工作。
编辑 2:似乎我的 Allow All 条目不正确 - 我将其设置为 0.0.0.0/32。将其更改为 0.0.0.0/0 后,我可以通过 Front Door 访问 Web 应用程序。因此,我对列表中的任何条目(包括 Allow All 导致 403 错误)的初步评估是不正确的。正确的评估是列表中除 0.0.0.0 以外的任何条目(甚至是我自己的 IP 地址)都会导致 403 错误。所以主要问题仍然存在 - 我们如何通过 IP 限制保护我们的 Web 应用程序并仍然使用 Azure Front Door?