amazon-web-services - 多个应用程序的 SSL (https)(在多个子域上)
问题描述
考虑以下场景:
- 我是域名的所有者,例如
example.com
,购买并在 GoDaddy 中进行管理 - 我在 AWS S3 上托管我们公司的网站,位于
example.com
- 我在下面托管我们公司的应用程序前端(另一个 AWS S3)
app.example.com
- 我在下面托管我们公司的应用程序测试环境前端(另一个 AWS S3)
testapp.example.com
- 我在下面托管我们公司的应用程序后端(AWS Beanstalk)
back.example.com:8080
- 我在下面托管我们公司的应用程序测试环境后端(另一个 AWS Beanstalk)
testback.example.com:8080
我的域 example.com 使用域转发(带掩码转发)指向 S3 存储桶。所有*.example.com
子域都使用 DNS CNAME 记录进行处理。
现在我想为我们的应用程序启用 HTTPS。据我所知,为了使其正常工作,我需要保护后端和前端应用程序。我考虑使用 Let's Encrypt 作为最便宜的选择,使用 certbot 自行刷新证书。
我的问题是:我需要颁发多少证书以及需要配置哪些服务器?我应该在 GoDaddy 配置中还是在 AWS 控制台中配置它们?我应该在哪里安装 certbot?我是否需要在每个应用程序中包含证书的私有部分?
解决方案
您不能将 LetsEncrypt 证书与 S3 一起使用。您需要将 CloudFront 放在 S3 前面,然后才能使用免费的AWS ACM SSL证书。您可以将相同的 AWS SSL 证书添加到 Elastic Beanstalk 环境中的负载均衡器,或者也将 CloudFront 放在这些环境的前面。
推荐阅读
- c++ - 如何在 Windows 上获取可用 RAM?
- spring - 使用 Spring JMS 正常工作并遇到 Apache camel route 和 IBM MQ Route 问题
- c++ - 无法打开 curl/libcurl_a_debug.lib
- python-3.x - Sierpinski 的三角 Pygame 递归函数
- asp.net - 多页 Web 应用程序的会话固定问题
- jquery - 如何使用 ScrollX 正确调整 Jquery DataTables 的列:true?
- php - @Assert\NotBlank 验证在 symfony 4 中不能以嵌入式形式工作
- android - 为什么在分配了最大可能像素后,图像在 hdpi 屏幕[运行 android] 上显得模糊?
- solr - 自动建议器中的 Solr 服务器上下文过滤不起作用
- xcode - 无法在最新的 MacOS 测试版中登录 Xcode