簡體   English   中英

如何將 Amazon Cloudfront 與 Elastic Beanstalk 單實例連接以使用 HTTPS 證書

[英]How to connect Amazon Cloudfront with Elastic Beanstalk Single Instance in order to use HTTPS cert

我閱讀的所有教程都與 Elastic Beanstalk 負載均衡器有關,我沒有將其與單個實例一起使用。

我可以通過使用環境 url 或簡單地將我的 Route 53 Type A 記錄重定向到 Elastic Beanstalk 環境或 ec2 公共域來訪問通過 Elastic Beanstalk 部署的應用程序。

我希望我的 webapp 使用 HTTPS,所以我通過 ACM 創建了一個 SSL 證書,並嘗試通過 CloudFront 在我的 webapp 上部署該證書。 我創建了一個 CloudFront 分發域,但這就是我被卡住的地方:我不能將我的 Elastic Beanstalk 環境用作源域,只能用作 S3 存儲桶。

如何讓 CloudFront 與 Elastic Beanstalk/EC2 對話?

直接訪問 S3 不是一個選項,不僅我得到 403 錯誤,而且我的項目是一個 Angular App 和 .NET WebApi,需要部署和運行,而不是簡單地從 S3 文件夾訪問。 我也無法繞過 CloudFront 並將證書放入我的項目中,因為您無法下載 ACM 證書。

它應該在 HTTPS 中與 ElasticBeanstalk 通信,對嗎?

可悲的是,這不是它的工作原理。 要在 CF 和 EB 之間擁有 HTTPS,您的 EB 實例上必須具有有效的公共 SSL 證書。 您不能使用自簽名證書,默認情況下 EB 也不會給您任何 SSL。 如果您在 EB 上沒有 ALB,則必須從第三方(不是 ACM)獲取 SSL 證書,例如 LetsEncrypt 並部署在實例上。 您還必須擁有自己的域才能正常工作。

只有滿足以上條件,整個路徑上才會有 HTTPS:

Client --- (https) --> CF ---- (https) ----> EB

否則,你只能有:

Client --- (https) --> CF ---- (http) ----> EB

當您在 inte.net 上使用 http(純文本)時,這是一個安全風險。

暫無
暫無

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

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