2016-07-27 80 views
3

我有一個S3存儲桶,我想使用SSL。我也想默認提供index.html。爲S3啓用SSL,默認提供index.html

當通過http訪問時,my-bucket.s3-website-us-west-2.amazonaws.com/提供了index.html。但是,AWS不維護此子域的SSL證書,因此無法通過SSL訪問。 AWS確實維護了一個my-bucket.s3.amazonaws.com/的SSL證書,如預期那樣可以解決問題。但是,該域默認不會提供index.html(即使將index.html設置爲索引文檔)。

有沒有解決這個問題的方法,不需要CloudFront(目前已經設置)或靈活的SSL與CloudFlare?我試圖在不犧牲安全性的情況下降低成本。

+0

請仔細閱讀定價表。在美國和歐洲,使用CloudFront + S3與單獨使用S3的成本基本相同。 –

回答

2

當使用「靜態網站託管」選項從S3託管網站時,只能使用HTTP。 HTTPS不受支持。這是通過使用my-bucket.s3-website-* URL完成的。

my-bucket.s3.amazonaws.com端點不是提供網站的端點。它只是S3 API的一個端點。這就是爲什麼它支持HTTPS。因此,當您通過身份驗證時,您可以對此端點執行GET,POST等操作(如果配置了公共ACL,則可以匿名)。

但它不是一個網站端點,並且不會自動服務index.html或404頁面。

要充當網站並使用SSL,您必須使用前端服務(例如CloudFront)。