問題
您好,我正在使用 HTTP2 設定 Elastic Beanstalk Node js 應用程式,但遇到了一些問題。經過大量研究,我已經能夠在我的 EC2 實體上使用 nginx 作為反向代理設定 HTTP2。我已經分配了一個公共 IP 來使用 curl 對其進行測驗,并且一切正常并使用 http2。為此,我在 EC2 實體上創建了一個自簽名證書。
在 EC2 實體前面,有一個帶有另一個證書(由 AWS 驗證)的 ALB,它在實體上從 HTTPS 443 重定向到 HTTP2 443。這部分不起作用,我一直收到 503 錯誤。
如果我直接訪問實體,一切正常,所以我假設問題出在 ALB 配置中,但我一直在嘗試修復,但找不到正確的方法。
ALB 配置


在安全組上,我允許所有入站/出站流量查看是否解決了問題,但沒有。


有趣的是,目標群體顯示了兩個健康的實體。如果服務回傳 503 代碼,如何通過健康檢查?!可能是因為實體實際上在作業,但負載均衡器卻沒有。
這是我從 Elastic Beanstalk 配置中可以看到的負載均衡器的配置:

附加資訊
它至少使用 HTTP2 的錯誤訊息:
$ curl -k --verbose https://awseb-AWSEB-A9MYYH15GGU5-713921422.us-east-1.elb.amazonaws.com
...
...
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 503
< server: awselb/2.0
< date: Thu, 04 Nov 2021 06:51:44 GMT
< content-type: text/html
< content-length: 162
<
<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
</body>
</html>
* Connection #0 to host awseb-AWSEB-A9MYYH15GGU5-713921422.us-east-1.elb.amazonaws.com left intact
* Closing connection 0
知道我做錯了什么嗎?也許這是因為我使用的是自簽名證書?
uj5u.com熱心網友回復:
您不能將 HTTPS與awseb-AWSEB-A9MYYH15GGU5-713921422.us-east-1.elb.amazonaws.com. 此域只能使用 HTTP 訪問。
如果您想擁有 HTTPS,您必須擁有自己的域和您自己的 SSL 證書。執行此操作的一種方法是通過Route53 與 Elastic beanstaslk 的配合,如為您的 Elastic Beanstalk 環境配置 HTTPS 中所述。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/347473.html
