簡體   English   中英

如何配置AWS EC2實例中的Node.js以接受來自客戶端的HTTPS請求

[英]How to configure Nodejs that is in AWS EC2 Instance to accept HTTPS request from client side

我想問一下如何配置Node.js(后端/服務器)以接受來自客戶端(前端)的HTTPS請求。

我們做了什么。

  • 在AWS中注冊的域名。
  • 項目清單
  • 在ACM中請求的SSL。
  • 在S3中創建存儲桶,並將我們的前端代碼(角度5)存儲在其中。
  • 在Cloud Front中創建了分發,並將我們的自定義SSL放到那里,並連接到S3中的存儲桶。
  • 我們還設置了ec2實例,並將后端代碼(節點js)存儲在此處。
  • 在前端代碼中,我們連接到ec2實例的ip,以便可以連接到后端。

問題:

  • 前端無法訪問ec2實例中的后端,因為前端是https,后端是http(我們不知道如何在AWS EC2實例中將其從http配置為https)。
  • 您知道如何在前端和后端代碼分開的AWS中設置Web應用程序嗎?
  • 我們錯過了什么?

我們錯過了什么?

如果我正確理解,則您有一個提供角度服務的Cloudfront發行版,然后嘗試連接到EC2實例-我認為EC2的IP地址或公共DNS條目已硬編碼為角度代碼。

這不是一個很好的安排-如果您的EC2發生故障或IP地址更改,則需要將新站點推送到S3-然后此更改將需要一些時間才能通過Cloudfront傳播。

您應該這樣做的是。

  1. 創建一個應用程序負載均衡器
  2. 創建目標組並將您的EC2添加到該目標組。
  3. 在ALB上添加偵聽器,偵聽Web應用程序所連接的端口,並使用轉發到后端EC2的HTTP端口的規則。
  4. 為ALB添加路由53 DNS別名記錄(因為ALB有時會消失或更改其IP地址)
  5. 更改您的前端代碼,以指向Route 53 Alias記錄。

(這是一種非常簡單的處理方式,使您的EC2可以訪問互聯網等)。

您還應該認真考慮將EC2放入一個跨越至少兩個可用性區域的自動伸縮組,並設置其最小大小以確保至少任何一次服務器都在運行。

AWS EC2實例可以隨時消失,當它們運行時,您的應用程序也會隨之消失。

暫無
暫無

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

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