簡體   English   中英

僅通過 HTTP 提供 Cloudfront 頁面

[英]Serving Cloudfront pages Through HTTP only

我有一個簡單的靜態站點,它是通過 Amazon 的 Cloudfront 提供的。 那里沒有任何重要的東西,所以它不需要 HTTPS,而且我不想經歷為我的網站設置 SSL 證書的麻煩和成本,如果通過 HTTPS 發送請求得到滿足,我很高興服務不可用或任何其他錯誤消息被認為是合適的。 相反,Cloudfront 嘗試使用自己的證書為 HTTPS 頁面提供服務,因此由於證書/域名不匹配,因此在瀏覽器中將該站點標記為“不受信任”。

有沒有辦法在 Cloudfront 中完全禁用 HTTPS,或者在仍然使用 Cloudfront 的同時優雅地回退到 HTTP 的其他方法?

我遇到了同樣的問題。

亞馬遜現在免費提供 SSL 證書,但有以下限制:

  • 您只能在 CloudFront 或 ELB 中使用它們。
  • 沒有服務器名稱指示支持的瀏覽器將無法正確呈現您的站點。

就我而言,即使我從不需要它,我也只是使用它。 這比在瀏覽器上設置“不受信任的連接”要好得多。

我找不到任何機制來優雅地失敗或完全阻止 HTTPS。

請參閱: http : //docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS

可以單獨指定,每個CloudFront的起源,是否應該使用HTTPHTTPS或僅HTTP采用Origin協議策略設置。

協議

CloudFront 基於以下內容將 HTTP 或 HTTPS 請求轉發到源服務器:

最終用戶發送到 CloudFront 的請求的協議,HTTP 或 HTTPS。

CloudFront 控制台中Origin Protocol Policy字段的值,如果您使用 CloudFront API,則為DistributionConfig復雜類型中的OriginProtocolPolicy元素。 在 CloudFront 控制台中,選項為HTTP OnlyMatch Viewer

如果您指定HTTP Only ,則 CloudFront 僅使用 HTTP 協議將請求轉發到源服務器,而不管最終用戶請求中的協議如何。

來源: AWS CloudFront 文檔

對於使用 AWS Web 控制台設置雲前端的用戶,請按照以下路徑更改“查看器協議策略”:

AWS Web 控制台 > Cloudfront > Cloudfront 分配 > [選擇您的分配] > 行為選項卡 > [選擇您的緩存行為] > 編輯 > 查看器協議策略 > 設置“HTTP 和 HTTPS”

請注意,如果您希望將備用域名添加到分配中:

似乎自此版本(2019 年 4 月 8 日)起,當您將備用域名添加到發行版時,您還必須將 SSL/TLS 證書附加到該發行版,以涵蓋備用域名

所以在這種情況下你不能禁用 HTTPS。


(*) 注意:我個人沒有看到提到的HTTP Only for Origin Protocol Policy 選項 - 盡管這里也提到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM