摘要
/favicon/proxied 似乎对不同的输入 URL 返回了相同的图片。
该问题在 meta.discourse.org 上可复现,因此并非特定于某个实例。
复现步骤
使用两张不同的图片进行测试:
图片 A:
https://d11a6trkgmumsb.cloudfront.net/original/4X/6/1/4/6144f7183b605c2c615a2f18a238a0788fe5f4c9.png
图片 B:
https://h2cdn.appinn.me/original/3X/9/f/9fd7005050c813d23be27f02f7bc8b63b6b254ba.png
通过以下地址访问:
https://meta.discourse.org/favicon/proxied?https%3A%2F%2Fd11a6trkgmumsb.cloudfront.net%2Foriginal%2F4X%2F6%2F1%2F4%2F6144f7183b605c2c615a2f18a238a0788fe5f4c9.png
https://meta.discourse.org/favicon/proxied?https%3A%2F%2Fh2cdn.appinn.me%2Foriginal%2F3X%2F9%2Ff%2F9fd7005050c813d23be27f02f7bc8b63b6b254ba.png
实际表现
- 不同的输入 URL 返回了相同的图片
- 响应内容与请求的 URL 不匹配
- 看起来像是缓存冲突或缓存键不正确
预期表现
- 每个 URL 应返回其对应的图片
- 缓存(如果存在)应以完整的源 URL 作为键
备注
- 在官方 Meta 实例上可复现
- 与 CDN 或本地配置无关
- 在不同图片和请求中持续存在
假设
这可能是由不正确的缓存逻辑引起的(例如缓存键未包含完整 URL 或归一化处理不当)。