FaceBook 通过 POST 加载 HTTPS 托管的 iframe 应用程序

标签 facebook facebook-graph-api amazon-s3

我参与了一个使用 JS API 的粉丝专页项目,因此我们决定将该网站托管在 Amazon S3 存储桶上,因为 a) 它是静态内容,并且 b) 自 2011 年 10 月以来,Amazon 拥有 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 存储桶上托管粉丝专页?是否有可以帮助解决此问题的存储桶策略?

最佳答案

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

关于FaceBook 通过 POST 加载 HTTPS 托管的 iframe 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9468722/

相关文章:

amazon-web-services - 在AWS EMR中连接到Google NGrams数据

ajax - 点赞按钮显示我的点赞数,但在 facebook api 中不可见

ruby - 无法使用正确编码的 aws_s3(ruby gem)从 amazon s3 存储桶中读取文件?

css - 是否可以设计新的 Facebook 页面插件的样式?

facebook - 如何优化我的 FQL 以避免 Facebook 超时?

ios - Facebook iOS SDK - 身份验证/登录页面上的语言错误

facebook - 使用凭证获取 facebook 应用程序的永久访问 token

iphone - 在 Facebook newsfeed 上发帖无效

java - 使用 RestFB 的安全性如何?

node.js - 在 AWS 上部署 React Web 应用程序