0

我对 Azure 很陌生,所以请在这里放轻松。

我最近在 Azure 上部署了一个 Python/Django 应用程序。在应用程序中,我使用 Python 库urllib通过 URL 检索 Internet 上的文件。我知道代码是正确的,因为应用程序可以在本地运行,但是当我在 Azure 上部署它时,请求遇到 403 错误,导致应用程序崩溃:urllib.error.HTTPError: HTTP Error 403: Forbidden

阅读周围,例如这里,似乎 Azure 阻止了urllib请求。因此,我创建了一个自定义 Web App Firewall (WAF) 策略,在该策略中我禁用了所有防火墙规则,并且奇迹般地应用程序开始工作!这显然不是一个永久的解决方案,所以我问是否有人可以帮助解决以下问题之一,其中任何一个都应该解决我的问题:

  1. 有人可以具体告诉我此 Pastebin 列表中的哪个 WAF 规则是阻止 urllib 请求的规则吗?除了短标签之外,我找不到任何文档或描述来解释它们的作用?
  2. 有没有办法可以为urllib请求创建 WAF 排除?
  3. 是否有替代使用urllib不会遇到 Azure 防火墙问题的方法?

再一次,我对 Azure 的工作方式非常陌生,而且我也不太熟悉如何urllib工作,所以如果你回复(如果你回复了,谢谢),请简单地向我解释一下:)

4

1 回答 1

0

原来使用 libraryrequests而不是urllib,解决了这个问题,因为 Azure 似乎没有阻止它。我不知道为什么会这样,但如果它有效,我不会质疑它。

于 2021-08-29T10:58:47.507 回答