是否可以在没有负载均衡器的情况下使用带有SSL(HTTPS)的Amazon Elastic Beanstalk?

时间:2017-09-19 20:04:21

标签: amazon-web-services ssl amazon-ec2 elastic-beanstalk elastic-load-balancer

从现在开始,我的应用程序需要安全连接(HTTPS)。我验证在Amazon Web Services Elastic Beanstalk上添加安全连接(https)的大多数教程都使用Elastic Load Balancer作为隧道。

在我的情况下,我运行单个实例,实际上我不需要负载均衡器。如何在没有Elastic Load Balancer的情况下为我的实例添加安全连接?这可能吗?

我正在使用运行PHP 7.0 Elastic Beanstalk的64位Amazon Linux 2017.03 v2.4.4。

3 个答案:

答案 0 :(得分:0)

这绝对是可能的。以下是使用Apache的AWS的example

基本步骤是:

  1. 在服务器上启用SSL
  2. 获取证书颁发机构(CA)签名证书。出于测试目的,您可以创建自签名证书。以下是使用openssl进行此操作的example

答案 1 :(得分:0)

可以使用代理服务器在没有负载均衡器的情况下配置

https,您的情况(Amazon Linux 2+上的php)应为nginx。我创建了一个gist for configuring https in EBS,它适用于Free Tier???,但适用于Java。您可以看到更多examples here,但首先要了解您正在使用的代理服务器(apache或nginx),因为配置会相应变化。有关更多信息,请参见Reverse proxy configuration

答案 2 :(得分:-1)

目前 aws 文档适用于旧的 amazon linux,因此它们不起作用。

您应该这样做:

  1. 在安全组中打开端口 443
  2. 在服务器上添加您的证书和私钥文件。为此,您可以使用 .ebextensions。
  3. 在服务器上的 /etc/nginx/conf.d 中创建 nginx conf 文件,并使其侦听端口 443 并使用您的证书文件来加密连接。

在 proxy_pass 添加您的应用 (127.0.0.1:your_port)

您可以使用 ssh 创建 nginx conf 文件,也可以在应用的根文件夹中添加 .platform/nginx/conf.d 并在其中添加配置文件。

如果您更喜欢更详细的解释,请看这里: https://youtu.be/zTXS3a67-9c