您正在收到ERR_INSECURE_RESPONSE錯誤,因爲您正在使用解決loadbalancer.amazonaws.com的CNAME。由於您的證書用於www.yourdomain.com,因此它提供了有效的錯誤。 CNAME和別名的操作稍有不同。使用CNAME時,流量不是您域名的有效別名,因此如果您嘗試保護域名,則會收到錯誤。但是,當您爲www和別名創建A記錄時,loadbalancer.amazonaws.com現在任何來自www.yourdomain.com上的loadbalancer.amazonaws.com的流量都是您的域的有效流量,您將不再有這些錯誤。
爲了終止www.yourdomain.com在loadbalancer.amazonaws.com上的安全流量,您需要有一個A記錄,該記錄將在別處存在。不幸的是,ELB只提供一個DNS條目,沒有IP地址,但許多DNS提供商(即GoDaddy)將不允許你有一個DNS A記錄被別名爲DNS地址;他們需要你別名到IP地址。這使生活變得更加複雜。
有幾種方法可以實現這一點(SSL不支持URL轉發和掩碼),但最簡單的解決方案是使用Route 53.使用Route 53不需要註冊或傳輸名稱到AWS和託管區域每個域只需0.50美元/月。
要使用路由53請按照下列步驟操作:
- 爲yourdomain.com創建一個託管區。當您在Route 53中創建託管區域時,它將完成一些默認記錄(如A,NS和SOA記錄)。請注意NS記錄,因爲您稍後需要它們。
- 接下來,將您現有的區域文件條目(如MX記錄)從當前的DNS提供商複製到新的託管區域。
- 當涉及到一個記錄,你想引導流量到你的ELB你會輸入名稱,說www,然後就在類型選項字段下面,你會看到一個廣播選項,說:「別名:是沒有」。當您選擇是時,值字段將消失,您會看到一個選項,顯示「別名目標:輸入目標名稱」。當您點擊該字段時,您會收到一個可以替代的帳戶中的資源下拉列表。只需選擇您的負載均衡器。
- 點擊創建,你就完成了Route 53.
- 現在你所有的dns記錄都被複制過了,你將進入你的註冊商,並將名稱服務器更改爲Route 53爲你提供的名稱服務器。
現在Route 53正在爲您處理您的DNS。 loadbalancer.amazonaws.com是www.mydomain.com的有效別名。由於當您訪問www.yourdomain.com時,loadbalancer.amazonaws.com現在是www.yourdomain.com的有效別名,您在loadbalancer.amazonaws.com上的ELB將終止流量爲www.yourdomain.com,您的錯誤將得到解決。備註:如果您的實例位於us-east-1,您可以使用證書管理器爲ELB和域獲取無限數量的免費標準,SAN和通配符SSL證書。
如果您有'api.example.com'的ssl證書,那麼您需要**在訪問安裝證書的機器時實際使用該主機名**。使用不同的主機名自然不起作用。是的,這非常簡單。 –
謝謝@ Michael-sqlbot - 這有所幫助。 – Nat