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

您好,

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

发布前编辑:论坛软件可以理解地抱怨新用户帖子中的链接,因此请将“$URL_GRAVATAR”替换为“www.gravatar.com

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

在容器内部,我验证 no_proxy 已设置,并且我可以直接 curl 到该 URL:

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,它会给我一个代理失败。

您需要允许 https://avatars.discourse-cdn.com/ 来修复字母头像。

3 个赞

好的,我会试试!我只需要安排半小时的停机时间来重建 Discourse。:slight_smile:

在无法访问出站代理日志的情况下,猜测这些东西需要什么访问权限真是太令人沮丧了。:confused:

1 个赞

已确认有效。谢谢!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.