2012-02-27 76 views
6

我參與了使用JS API的fanpage項目,因此我們決定將該站點託管在Amazon S3存儲桶上,因爲它是靜態內容和b)Amazon有SSL證書Facebook應用程序自2011年10月以來。FaceBook通過POST加載HTTPS託管的iframe應用程序

但事實證明,Facebook正在通​​過HTTP POST(額外的安全檢查?爲什麼不只是HTTP頭部?)請求HTTP頁面。

亞馬遜明智地發回如下:

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正試圖通過發佈上傳

具有諷刺意味的是,Facebook的實際推薦使用S3對於那些誰不沒有SSL證書http://www.facebook.com/note.php?note_id=10150223945345844

底線:有沒有人設法在2011年10月發佈的S3存儲桶中託管粉絲頁?有沒有可以幫助解決這個問題的桶策略?

+0

該文章可能是在Facebook添加該功能之前編寫的。 Canvas iframe現在總是通過POST形式加載(用於額外的安全性或其他),並且不能再關閉。看起來像死衚衕 – ori 2012-02-27 19:43:57

+0

現在,大多數域名都可以在不到24小時內獲得免費的SSL證書。使用S3是因爲你沒有證書,對我來說似乎很愚蠢。 – 2012-02-27 22:23:55

回答

1

一個選項是使用cloudfront指向一個EC2實例。這將愉快地接受Post請求。只要確保在響應頭中設置了非常長的緩存TTL,以確保實例不會受到請求的影響。您仍然可以在s3中託管您的圖片等。 EC2實例將僅負責翻譯帖子請求。