1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 可能是 CloudFront 导致了 Twitter 和 LinkedIn 上的社交共享问题。
当向 CloudFront 发出请求时,它会先检查缓存是否有响应,然后再将请求转发给源。如果找到缓存响应,CloudFront 会将其返回给查看者,而不会将请求转发给源。在您的案例中,由于 Lambda@Edge 函数正在修改用于丰富社交共享的元标记,因此缓存响应可能不包含更新的元标记。
一种测试方法是对包含富社交共享元标记的特定页面的缓存无效。这将迫使 CloudFront 将请求转发到原点,然后触发 Lambda@Edge 函数更新元标记。
另一个方法是检查 Twitterbot 或 LinkedIn 机器人发送的标头,确保标头与其他客户端发送的标头一致。
您还可以检查 CloudFront 访问日志,查看是否存在与 Twitterbot 或 LinkedIn 机器人发出的请求相关的错误。
如果上述解决方案都不起作用,那么问题可能出在 Lambda@Edge 函数及其修改元标记的方式上。你可以尝试检查 Lambda 函数的日志,看看是否有任何可能导致问题的错误。
最后,您还可以尝试使用其他缓存选项来代替 CloudFront,比如使用 Cloudflare 或 Akamai 等 CDN(内容分发网络),这样可能更适合您的使用情况。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 8 个月前
- AWS 官方已更新 3 年前