我已經設定了一個 CNAME 條目來透過 Amazon S3 儲存桶進行重定向,但是有些東西無法按預期(當然是我)使用 CNAME 我希望重定向一個虛構的子網域,例如重定向s3.example.com
到具有相同名稱的Amazon S3存儲桶。
現在的問題是它example.com
沒有 SSL,而 Amazon 儲存桶有。對於我的假設,使用 CNAME 規則應該重定向流量前要存取我的網站伺服器並檢查是否存在證書,請注意,為此目的,DNS 設定為我的網域供應商,而不是我的託管提供者。
當存在 CNAME 規則且有效時,為什麼還要檢查 SSL?例如,如果我s
從 url 中刪除 ,它將打開儲存桶中的相關文件,而不會出現任何憑證警告。
編輯:返回的錯誤不同,我會嘗試翻譯並調整它:
s3.mydomain.com is using a not valid certificate. the certificate is
only valid for the following names: *.s3.eu-central-1.amazonaws.com,
*.s3-eu-central-1.amazonaws.com, s3-eu-central-1.amazonaws.com, s3.eu-
central-1.amazonaws.com, s3.dualstack.eu-central-1.amazonaws.com,
*.s3.dualstack.eu-central-1.amazonaws.com, *.s3.amazonaws.com
然後,他似乎正在閱讀 CNAME 規則並查找正確的網域(亞馬遜 s3),然後它與我的網域進行比較,發現它是一個不同的名稱,然後在重定向之前停止。因此,如果我刪除它,s
它不會給出任何錯誤。現在我嘗試安裝讓我們加密並看看擁有證書是否有幫助,但我猜它仍然會使此檢查廣告再次給出類似的結果(如果不是相同的結果)。
答案1
DNS 區域中的 CNAME 正在按您的預期運作,但瀏覽器會檢查遠端網站提供的憑證對於所造訪的網域是否有效。
儲存您的資料的 amazon s3 伺服器沒有或沒有提供有效的證書s3.mydomain.com
,因此所有訪客都會看到證書警告。
這是完全正常的,而且正是 SSL 憑證的工作原理 - 否則任何網站都可以冒充任何其他 SSL 加密網站。證書用於身份驗證以及加密,身份驗證由證書頒發機構 (CA) 在購買證書時完成。如果您不是購買憑證時所說的身份,CA 應拒絕建立憑證或將其頒發給您 - 如果他們不執行該驗證步驟,他們會發現自己已從預設受信任的 CA 中刪除隨Firefox、Chromium、IE 、Edge 等網頁瀏覽器所分發的清單。
執行您想要的操作的「正常」方法是使用由瀏覽器已知並信任的憑證授權單位簽署的憑證為您的網域運行自己的 https 伺服器。對於私有/內部網路類型的網路應用程序,您可以執行自己的CA並將CA的憑證分發給您的使用者。對於公共網站,最好/最簡單的做法是從知名 CA 之一購買憑證。
然後,伺服器上的應用程式代碼應該從亞馬遜獲取所需的資料並將其返回給用戶,用戶永遠不需要知道或關心亞馬遜的參與。
答案2
CNAME 不是重定向,而是別名。它的作用是告訴 DNS 解析器您的 s3.example.com 位址應使用與亞馬遜 s3 網域相同的 DNS 資訊。
這一切都發生在 DNS 級別,而不是瀏覽器級別。就瀏覽器而言,它仍然連接到 s3.example.com,因此當它嘗試驗證 SSL 憑證時,它期望找到與該網域相符的憑證。
我不熟悉亞馬遜的服務,但您需要一種方法讓他們提供有效的證書,以便透過 HTTPS 使用您的自訂網域。如果不可能,您必須堅持使用純 HTTP 或停止使用自訂網域。