【问题标题】:FaceBook loading HTTPS hosted iframe apps via POSTFaceBook 通过 POST 加载 HTTPS 托管的 iframe 应用程序
【发布时间】:2014-02-03 18:57:16
【问题描述】:

我参与了一个使用 JS API 的粉丝专页项目,因此我们决定将网站托管在 Amazon S3 存储桶上,因为 a) 它是静态内容,b) 自 2011 年 10 月以来,亚马逊拥有 Facebook 应用程序所需的 SSL 证书。

但事实证明,Facebook 不是通过 HTTP GET 请求,而是通过 HTTP POST 请求粉丝页面(额外的安全检查?他们为什么不直接向 HTTP HEADERS?)。

亚马逊明智地发回以下内容:

405 Method Not Allowed
Code: MethodNotAllowed
Message: The specified method is not allowed against this resource.
ResourceType: OBJECT
Method: POST
RequestId: XXXXXXXXXXXXX
HostId: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

...因为它认为 Facebook 正在尝试通过 POST 上传

具有讽刺意味的是,Facebook 实际上建议那些在http://www.facebook.com/note.php?note_id=10150223945345844 上没有 SSL 证书的人使用 S3

底线:是否有人在 2011 年 10 月发布后在 S3 存储桶上托管了粉丝专页?是否有可以帮助解决此问题的存储桶策略?

【问题讨论】:

  • 这篇文章可能是在 Facebook 添加该功能之前写的。 Canvas iframe 现在总是通过表单 POST 加载(为了额外的安全性或其他原因),并且不能再关闭它。看起来像一个死胡同
  • 如今,大多数域都可以在不到 24 小时内获得免费的 SSL 证书。因为没有证书而使用 S3 对我来说似乎很愚蠢。

标签: facebook facebook-graph-api amazon-s3


【解决方案1】:

一个选项是使用 cloudfront 指向 EC2 实例。这将愉快地接受 Post 请求。只需确保在响应标头上设置了非常长的缓存 TTL,以确保实例不会一直受到请求的影响。您仍然可以在 s3 中托管您的图像等。 EC2 实例将只负责翻译 post 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 2010-09-18
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多