适用于多个应用程序(在多个子域上)的SSL(https)

时间:2018-08-26 13:47:38

标签: amazon-web-services ssl amazon-s3 https lets-encrypt

请考虑以下情形:

  • 我是example.com网域的所有者,在GoDaddy购买并受其管理
  • 我在example.com下在AWS S3上托管我们公司的网站
  • 我在app.example.com下托管我们公司的应用程序前端(另一个AWS S3)
  • 我在testapp.example.com下托管我们公司的应用程序测试环境前端(另一个AWS S3)
  • 我在back.example.com:8080下托管我们公司的应用后端(AWS Beanstalk)
  • 我在testback.example.com:8080下托管我们公司的应用程序测试环境后端(另一个AWS Beanstalk)

我的域example.com使用域转发(带掩码转发)指向S3存储桶。所有*.example.com子域都使用DNS CNAME记录进行处理。

现在,我想为我们的应用启用HTTPS。据我所知,要使其正常工作,我需要同时保护后端和前端应用程序。我考虑使用“让我们加密”作为最便宜的选项,并使用certbot自己刷新证书。

我的问题是:我需要颁发多少个证书,我需要配置哪些服务器?我应该在GoDaddy配置中还是在AWS控制台中配置它们?我应该在哪里安装certbot?我是否需要在每个应用程序中包括证书的私有部分?

1 个答案:

答案 0 :(得分:1)

您不能在S3中使用LetsEncrypt证书。您需要将CloudFront放在S3的前面,然后可以使用免费的AWS ACM SSL证书。您可以将相同的AWS SSL证书添加到Elastic Beanstalk环境中的负载均衡器,也可以将CloudFront放在这些环境的前面。