【问题标题】:Why can't Pinterest fetch images from sites with SNI based SSLs?为什么 Pinterest 不能从具有基于 SNI 的 SSL 的网站获取图像?
【发布时间】:2015-06-01 19:22:25
【问题描述】:

向我们的域添加 SSL 会导致图像提取错误,并且不允许固定图像,尽管图像适用于 Facebook、Twitter、Google+、LinkedIn、Instagram 等。

我正在使用独立的 RDS 数据库服务器运行 AWS EC2 实例,并且我目前没有在 S3 上托管图像,也没有用于该站点的 Cloudfront 分发或任何会干扰的存储桶或任何缓存插件。有问题的站点是一个干净的 Wordpress 安装在一个新域上,我们正在将其他几个站点迁移到该域。在添加 SSL 之前,已提取图像并创建 Pins 没有问题。

Pinterest also runs on AWS EC2 instances

Pinterest also runs SSL.

因此,我们在同一主机上建立了安全连接。

如何使我的网站访问者可以固定到 Pinterest?

The solution listed here doesn't work

作为一种临时解决方法,我们已将域重新路由到 Wendy Polisi,以使用 AWS Elastic Load Balancer 的别名,这会欺骗 Pinterest 脚本以允许获取图像并注册 Pin,但是这充满了自己的失败。仅在上周就有 3 个节点故障导致该站点显示慢性间歇性 WSOD,并要求我们通知 AWS,以便他们可以更换节点,因此我们将把它作为“解决方案”消除。

【问题讨论】:

  • @kent-brewster stackoverflow.com/users/1151280/kent-brewster 非常感谢您的帮助。
  • 此问题与Image Fetch issues in Pinterest and Twitter from Amazon CloudFront 重复。除此之外,它只会抱怨,而且这个论坛可能不是联系 Pinterest 的合适方式。
  • @SteffenUllrich 虽然我很欣赏您的观点,但这不是该问题的重复,因为我们尚未启用 Cloudfront 来提供图像,因为这是我们正在将站点迁移到的新域,并且添加 Cloudfront 和缓存会增加另一层复杂性和必须破译的问题。我的帖子中没有任何抱怨,只是对路径、问题和解决方案的请求的解释。关于它不是联系 Pinterest 的合适方式,首席工程师正在这里回答问题,所以我不明白你的意思。
  • 对不起,我不知道这个网站是获得 Pinterest 支持的正常方式。但实际上我在您的问题中没有看到任何与 the topics of this site 相关的内容,即您没有提出您遇到的编程问题,而是询问为什么 Pinterest 没有解决他们的编程问题。

标签: ssl amazon-web-services amazon-ec2 pinterest sni


【解决方案1】:

Pinterest 是使用 SSL,还是使用 AWS 或类似的东西都没有关系。使用 SNI 扩展访问 URL 是一个客户端问题,虽然所有现代浏览器都使用 SNI,但许多其他工具却没有。例如,python 最近在 2.7.9 中添加了支持(但在 3.x 中已经有一段时间了),Android SDK 附带的 Apache HTTPClient 不支持 SNI 等。

SNI 与否也与使用 Comodo 或其他 CA 的证书无关,而是完全独立于证书的颁发者。唯一的问题是,如果您在同一个 IP 地址后面有多个证书,因为在这种情况下,您需要在服务器端(当然也在客户端)使用 SNI。

Pinterest 也可以在 AWS EC2 实例上运行。

Pinterest 也运行 SSL。

因此,我们在同一主机上建立了安全连接。

如果 Pinterest 真的与您的网站在同一主机上运行,​​这不太可能是巧合。 AWS EC2 绝对不止一个主机。

我同意你的观点,如果 Pinterest 存在 SNI 问题,那么应该尽快解决这些问题,因为越来越多的网站(如所有 Cloudfront Free SSL)使用 SNI。同时,您可以尝试将您的 HTTPS 站点切换到专用 IP 地址,这样您就不会依赖 SNI。

【讨论】:

  • 我已经改写了这篇文章。是的,这个网络服务器上托管了几十个域,具有相同的弹性 IP 地址。至于为什么我问了一个与 Pinterest 相关的问题,这是因为您引用的之前的帖子有类似的问题,并且因为首席工程师在那篇帖子中说 Pinterest 正在倾听,正如您在此处看到的那样:snar.ly/pinterest 是的,我意识到我们在具有不同 IP 范围的不同实例上。我的观点是,我们使用的是同一个提供商,并且没有运行不兼容的技术。那么,解决方案是什么?
  • 除了不依赖 SNI 之外,我没有看到解决方案。是的,它会花费你更多,但最终你会得到一些回报。
  • 正如我所指出的,将其移动到具有别名(不同 IP)的 Elastic Load Balancer 可以获取图像,但我们遇到了慢性和重复性节点故障,导致间歇性 WSOD,这显然不太理想用于创收和游客满意度。因此,上面提出的问题。当然,还有其他解决方案吗?
  • 如果您关心收入,您可以与 Pinterest 分享部分收入,以便他们更有动力解决问题。除此之外,您可能会尝试找出并修复节点故障的潜在问题,或者只是转移到具有专用 IP 的更稳定的平台。当然,您仍然可以使用 HTTP 而不是 HTTPS。
  • 我知道你认为你是喜剧演员,但我们拥有数十万个 Pin 图的原因是因为我们付费玩 Facebook 和 Pinterest。与互联网上许多认为一切都应该免费的自以为是的人不同,我们意识到他们不是慈善事业。不幸的是,尽管付费,Pinterest 支持有 3 个工作日的响应时间,然后通常不会创建解决方案。当您说“回退到 HTTP”时,您是指从 Apache 中剥离 SSL 证书并恢复到非 SSL 域还是其他一些解决方法?
猜你喜欢
  • 2013-08-21
  • 2020-07-11
  • 2010-12-05
  • 1970-01-01
  • 2011-03-04
  • 2017-02-03
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多