AWS在這里。我有一個當前配置有 HTTP(埠 80)偵聽器的應用程式負載平衡器 (ALB)。ALB 的 DNS 名稱為 ,http://my-alb.us-east-1.elb.amazonws.com我將其稱為“負載平衡器 URL ”。位于 ALB 后面的是一個自動縮放組。自動縮放組配置為管理將托管 RESTful API Web 服務的 EC2 實體。這些 Web 服務正在偵聽埠 8089。因此 ALB 和 EC2 實體之間的流量通過 HTTP/8089。一切都很順利。
我現在想更改一些設定,以便 ALB 通過埠 443 提供 HTTPS。我希望 TLS 在平衡器處終止,因此 ALB <--> EC2 流量仍然可以是 HTTP/8089。但是任何與平衡器對話的東西都必須通過 HTTPS。
當我在 ALB 上創建一個 HTTPS 偵聽器時,它需要我從 ACM 中選擇一個經過驗證的證書。所以我進入 ACM 并為dev.myapp.example.com.
然后我進入我的 DNS 提供商 (GoDaddy) 并將與此證書關聯的 CNAME 名稱和值添加到我的 DNS 設定中。證書現在顯示為已發布(不再掛起),當我dig對 CNAME 名稱 ( dig short <CNAME_NAME_HERE>) 運行命令時,我會取回該值。所以看起來我正確配置了 DNS。
我現在可以在平衡器上創建 HTTPS 偵聽器并選擇我剛剛驗證的 ACM 證書。到目前為止,一切都很好!
所以目前我在平衡器上既有舊的 HTTP 監聽器,也有新的 HTTPS 監聽器。一旦我讓 HTTPS 作業,我將洗掉/洗掉 HTTP 偵聽器。
當我嘗試curl通過 HTTP 對我的平衡器運行時,它作業得非常好:
curl --location --request POST 'http://my-alb.us-east-1.elb.amazonws.com/login' --header 'Content-Type: application/json' --data-raw '<JSON_HERE>'
{"token": "<JWT_TOKEN>"}
太棒了,所以我可以通過 HTTP 上的平衡器登錄到我的 EC2 實體并取回有效的 JWT。
但是當我嘗試使用 HTTPS 時出現錯誤:
curl --location --request POST 'https://my-alb.us-east-1.elb.amazonws.com/login' --header 'Content-Type: application/json' --data-raw '<JSON_HERE>'
curl: (60) SSL: no alternative certificate subject name matches target host name 'my-alb.us-east-1.elb.amazonaws.com'
More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
誰能弄清楚我哪里出錯了,并找出解決方法?謝謝!
uj5u.com熱心網友回復:
您必須提供curl您的自定義域,例如curl --location --request POST 'https://dev.myapp.example.com/login'您目前仍在為其提供elb.amazonws.com與您的 SSL 證書不匹配的 DNS 名稱。這就是為什么它會告訴您您的 SSL 證書與 DNS 名稱不匹配。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/489569.html
標籤:亚马逊网络服务 ssl 卷曲 亚马逊-ec2 亚马逊易宝
上一篇:如何測驗頁面上的文本被洗掉
