簡體   English   中英

Amazon Elastic beantalk上的HTTP / HTTPS Node.js服務器

[英]HTTP/HTTPS nodejs servers on Amazon elastic beanstalk

我有一個創建兩個服務器的nod​​ejs程序。

在端口3000上運行的HTTPS服務器

運行在端口8080上的HTTP服務器(它只是通過https轉發到我的域名)

我正在嘗試將其部署在彈性beantalk上。

我上傳了證書並在Elastic beantalk中打開了HTTPS端口(如本文檔所述: http ://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html)

我的應用程序根本無法運行。 部署后,它會變成紅色。 查看日志,我看到它試圖重定向到https域名,但是那無濟於事。

我看不到亞馬遜如何知道哪個端口有哪個端口。 如何知道端口3000具有https,而端口8080具有http? 那從來沒有提到過。 也許這就是問題嗎?

知道該怎么辦嗎? 非常感謝。

基本上,您需要總結一下Elastic Beanstalk環境:

  • 彈性負載均衡器
    • 偵聽端口80並將其代理到EC2實例端口8080。
    • 偵聽端口443並將其代理到EC2實例端口3000。
  • EC2 Web服務器/代理 (您的Nginx / Apache):
    • 偵聽端口8080並通過重定向到HTTPS進行響應。
    • 在端口3000上監聽並處理請求。

我以為您的配置失敗,因為您使用Elastic Beanstalk Web控制台配置了ELB。 Web控制台僅能夠將HTTP和HTTPS轉發到EC2實例中的單個端口中。 因此,端口3000永遠不會處理您的請求。您無法使用Elastic Beanstalk Web控制台執行此操作,您需要使用其他方法(例如.ebextensions或CLI)來應用此.ebextensions

請看看到我的答案在這里 ,我的崗位在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM