在 AWS elastic beanstalk 上安装 HTTPS SSL 的过程?

2024-06-23

我已成功安装自我认证的 SSL,以使 https 在 AWS linux EC2 上运行。 然后,我在自动缩放和负载平衡环境中的弹性豆茎上尝试它。但我失败了。 我所做的过程是首先启动一个新的弹性豆茎应用程序。我生成 SSL 证书的私钥和自认证公钥的方式与我成功为 EC2 所做的相同。 不同的是,我使用 upload-server-certificate 将安全证书上传到 IAM,以便负载均衡器可以重新配置它。

aws iam upload-server-certificate --server-certificate-name mydomainname_SC --certificate-body file://server.crt --private-key file://privatekey.pem

然后我使用此命令验证证书没有问题

aws iam get-server-certificate --server-certificate-name mydomainname_SC   

之后,在 beanstlak 控制台上,我将 beanstalk 的 EC2 的安全组设置为向所有人开放的 http 80、https 443。然后我进入elastic beanstalk控制台选择configure,然后选择负载均衡以打开http 80、https 443的侦听器,并将SSL证书ID指定为mydomianname_SC。然后我在 beanstalk EC2 实例上执行了“service httpd restart”。结果http成功了,但是https失败了。

在单个 EC2 实例上安装 SSL 证书和 Elastic beanstalk 之间的区别在于,在 beanstalk 中,我们需要将证书上传到 IAM,但在单个 EC2 中,我在 https.conf 文件中添加“SSLEngine on”,例如

NameVirtualHost *:443
<VirtualHost *:443>
   ServerName ec2_ip_address:443         
   #    other configurations
   SSLEngine on
   SSLCertificateFile /etc/httpd/conf/ssl/server.crt
   SSLCertificateKeyFile /etc/httpd/conf/ssl/privatekey.key
</VirtualHost>

由于 https 在我的 beanstalk 配置中失败,因此我将上述 VirtualHost 命令添加到 /etc/httpd/conf/httpd.conf 文件中 弹性beanstalk EC2 实例。添加此后,我执行了“service httpd restart”,结果 https 和 http 都失败了。 然后我将 httpd.conf 修改为

NameVirtualHost *:443
<VirtualHost *:443>
   ServerName ec2_ip_address:443         
   #    other configurations
   SSLEngine on
</VirtualHost>

或者只是一行,例如

   SSLEngine on

但对于上述两种情况,http和httpd都失败了。看来 httpd.conf 中的更改也弄乱了 http。然后我发现elastic beanstalk的EC2实例中没有“ssl.conf”文件。我的问题是我们需要在elastic beanstalk的EC2上安装mod_ssl吗?我确实尝试在 Elastic beanstalk 的 EC2 实例上安装 mod_ssl 但失败并显示错误消息:

错误:httpd24 与 httpd-2.2.27-1.2.amzn1.x86_64 冲突

错误:httpd24-tools 与 httpd-tools-2.2.27-1.2.amzn1.x86_64 冲突

我们需要在 elasstic beanstalk 的 EC2 上安装 mod_ssl 吗?

上述开启elastic beanstalk的HTTPS的做法有什么问题呢?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 AWS elastic beanstalk 上安装 HTTPS SSL 的过程? 的相关文章

随机推荐