# 代理服务器导致头像图片损坏

**URL:** <https://meta.discourse.org/t/avatar-images-broken-behind-proxy/228459>\
**Category:** Product Support\
**Created:** [2022 年5 月 30 日 16:39 UTC](https://meta.discourse.org/t/avatar-images-broken-behind-proxy/228459 "2022-05-30T16:39:23Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

作者： ![rbos](https://avatars.discourse-cdn.com/v4/letter/r/b3f665/32.png) [@rbos](https://meta.discourse.org/u/rbos)\
发布日期： [2022 年5 月 30 日 16:39 UTC](https://meta.discourse.org/t/avatar-images-broken-behind-proxy/228459/1 "2022-05-30T16:39:23Z")

</div>

您好，

我们最近在服务器上实施了一条防火墙规则，要求所有出站 HTTP/S 请求都必须通过代理或直接规则进行白名单设置才能出站。从那时起，一些图片加载失败，特别是头像生成了 500 错误，例如 `[url]/letter_avatar_proxy/v4/letter/d/8edcca/45.png`

发布前编辑：论坛软件可以理解地抱怨新用户帖子中的链接，因此请将“$URL\_GRAVATAR”替换为“[www.gravatar.com](http://www.gravatar.com)”

我最好的猜测是它正在尝试从容器内部访问 $URL\_GRAVATAR。我让我们的防火墙人员设置了一个例外，以便 $URL\_GRAVATAR 获得一个直接规则，并设置了“no\_proxy=‘$URL\_GRAVATAR’ 并重建了容器。

在容器内部，我验证 no\_proxy 已设置，并且我可以直接 curl 到该 URL：

```plaintext
no_proxy='$URL_GRAVATAR,[etc],127.0.0.0/8'

# curl -Ik https://$URL_GRAVATAR
HTTP/2 302
server: nginx

```

但是，图片似乎仍然损坏。我是否遗漏了什么？我无法访问外部日志来显示它具体无法访问什么。

编辑：那里的 302 重定向可能是问题所在，它重定向到另一个我可能需要白名单的地址。如果我执行 `curl -IL $URL_GRAVATAR`，它会给我一个代理失败。

---

_[View the full topic](https://meta.discourse.org/t/avatar-images-broken-behind-proxy/228459)._
