[英]AWS Elastic Beanstalk - SSL Certificate added but still HTTPS Error: SSL_ERROR_BAD_CERT_DOMAIN
我購買了一個名為studioih.de的域名,然后我在firebase 上部署了我的 Angular 前端: https ://studileih-ceb70.web.app/ 並從我的域名 studioih.de 重定向到 firebase URL。
然后我將我的 Spring Boot 后端部署到AWS Elastic Beanstalk
: http : //studileih1.eu-central-1.elasticbeanstalk.com/
-> 問題:由於 firebase 上的前端使用https
而 AWS 上的后端使用http
我收到了Mixed content error
。 前端無法加載任何后端數據。
因此,我嘗試通過在AWS Certificate Manager (ACM) 中為我的后端創建 SSL 證書並將其添加到我的 Elast Beanstalk Load Balancer
來解決此問題。 這行得通,我現在至少可以建立從前端到后端的連接。
但是現在,每當向我的后端發送請求時,我都會收到此錯誤:
當我單擊“接受風險並繼續”一次時,它工作正常並且我的所有后端數據都已加載。 但我不能要求我的用戶這樣做。
(您可以通過以下方式嘗試: https : //studileih1.eu-central-1.elasticbeanstalk.com/products並在您之后單擊“高級”->“接受風險並繼續”(如果您敢 ^^)已經這樣做了,單擊studileih.de ,它現在將加載后端數據。)
我知道問題存在,因為在創建 SSL 證書時,我輸入了studileih.de作為證書的域。 我想我必須為studileih1.eu-central-1.elasticbeanstalk.com創建一個SSL 證書。 但是當我嘗試為stdileih1.eu-central-1.elasticbeanstalk.com創建 SSL 證書時:
我從 ACM 收到此錯誤:
如何為 Elastic Beanstalk URL 創建 SSL 證書?
ps 我還嘗試為我的 firebase URL https://studleih-ceb70.web.app/頒發證書,但默認情況下這個證書已經使用 Https。 此外,我無法找到如何在 Firebase 控制台中通過 DNS/電子郵件驗證 ACM 請求。 但是我想我需要一個用於位於studileih1.eu-central-1.elasticbeanstalk.com 的Elastic Beanstalk 后端的證書,而不是用於firebase 前端的證書,對嗎?
pps 我真的不需要使用https
,所以一個解決方案是讓 firebase 使用 http 而不是 https,但我找不到任何關於如何做到這一點的信息。
更新:
我添加了一個名為api.studileih.de的子域(即時訪問被 spring security 阻止,因為你沒有登錄我的網站,但你可以用api.studleih.de/products測試它,因為這個 API 是可訪問的無需登錄)。 然后我按照 Mark B 的建議將該子域重定向到我的 AWS 負載均衡器,方法是向子域添加 CNAME:
(那里不能改成英文,抱歉)
這是我的負載均衡器:
我試圖將 DNS-Name 作為 A-Record 放入我的子域中,但只能在那里輸入 IP4 地址,所以我將其輸入為 CNAME。 我還試圖找出負載均衡器的 IP 地址,但負載均衡器沒有靜態 IP 地址。
不幸的是,這種使用子域和 CNAME 的方法不起作用,所以我仍在尋找解決方案......
(這是設置A-Record的菜單。您只能在那里輸入IP地址:)
我知道問題存在,因為在創建 SSL 證書時,我輸入了studileih.de 作為證書的域。 我想我必須為studileih1.eu-central-1.elasticbeanstalk.com 創建一個SSL 證書。
您只能為您擁有的域創建 SSL 證書。 您需要在 Elastic Beanstalk 負載均衡器上指向 stdileih.de 的子studileih.de
,例如api.studileih.de
,然后將 SSL 證書附加到與該子域匹配的負載均衡器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.