2016-12-21 91 views
13

AWS Certificate Manager(ACM)为AWS用户提供SSL/TLS证书。它是否也适用于Lightsail用户?Lightsail的SSL/TLS证书?

如果没有,有没有关于在Lightsail服务器上设置SSL证书的说明或建议?

回答

1

如何使用SSL证书启用HTTPS支持?

注意:下面的步骤假定您使用的是自定义域名 并且您已经配置了自定义域名指向 到您的云服务器。

Bitnami图像带有SSL支持,已经预先配置并且有一个虚拟证书。尽管此伪证可用于测试和开发,但您通常需要使用有效的SSL证书进行生产使用。您可以自行生成(在此解释),也可以从商业证书颁发机构购买。

获得证书和证书密钥文件后,您需要更新服务器以使用它们。按照以下步骤激活SSL支持:

使用下表来标识证书和配置文件的正确位置。

enter image description here 将您的SSL证书和证书密钥文件复制到指定的位置。

注意:如果您的证书和密钥文件, 使用不同的名字,你应该重新配置了SSLCertificateFile和相应的Apache 配置文件中 了SSLCertificateKeyFile指令,以反映正确的文件名。

如果您的证书颁发机构也向您提供了PEM编码的证书颁发机构(CA)捆绑包,则必须将其复制到上一个表中的正确位置。然后,修改Apache配置文件以在SSLCertificateKeyFile指令下包含以下行。选择正确的指令,根据您的情况和Apache的版本:

enter image description here

注意:如果您的CA证书捆绑使用不同的名称,你 应重新配置SSLCertificateChainFile或SSLCACertificateFile 指令在相应的Apache配置文件反映 正确的文件名。

复制完所有的服务器证书文件,你可以让他们读root用户只能使用以下命令:

sudo chown root:root /opt/bitnami/apache2/conf/server* 
sudo chmod 600 /opt/bitnami/apache2/conf/server* 

打开443端口的服务器防火墙。有关更多信息,请参阅常见问题。

重新启动Apache服务器。

您现在应该可以使用HTTPS URL访问您的应用程序。

如何创建SSL证书?

您可以使用OpenSSL二进制文件创建您自己的SSL证书。然后可以将证书请求发送给证书颁发机构(CA)以将其签署到证书中,或者如果您拥有自己的证书颁发机构,则可以自己签署证书请求,也可以使用自签名证书(因为您只是想要测试证书或者因为您正在设置自己的CA)。

创建私有密钥(如果您尚未创建它已经):

sudo openssl genrsa -out /opt/bitnami/apache2/conf/server.key 2048 

创建一个证书:

sudo openssl req -new -key /opt/bitnami/apache2/conf/server.key -out /opt/bitnami/apache2/conf/cert.csr 

重要信息:输入服务器域名时,上面的命令为“Common Name”询问 。

发送cert.csr到证书颁发机构。当证书颁发机构完成支票(并可能收到您的付款)时,他们会将您的新证书交给您。

直到收到证书,创建一个临时的自签名证书:

sudo openssl x509 -in /opt/bitnami/apache2/conf/cert.csr -out /opt/bitnami/apache2/conf/server.crt -req -signkey /opt/bitnami/apache2/conf/server.key -days 365 

备份在一个安全的地方你的私钥如下生成一个密码保护的版本之后:

须藤的OpenSSL rsa -des3 -in /opt/bitnami/apache2/conf/server.key -out privkey.pem

请注意,如果您在Apache配置文件中使用此加密密钥,则需要手动输入密码时间的Apache开始。从该文件重新生成无密码保护的重点如下:

sudo openssl rsa -in privkey.pem -out /opt/bitnami/apache2/conf/server.key 

http://www.openssl.org查找有关证书的详细信息。

答案从https://docs.bitnami.com/aws/apps/wordpress/#how-to-enable-https-support-with-ssl-certificates复制,以便在页面过期或更改时可用。

+2

他们询问关于Lightsail的ACM:我很想知道这种集成是否可行。 –

0

目前没有使用Lightsail实例使用ACM证书的机制。

但是,也有no mechanism for using ACM certificates directly on EC2 instances。他们必须位于负载平衡器后面,因为ACM不会为您提供对证书私钥的访问。

您只能在ELB/ALB和CloudFront上使用ACM证书。

Lightsail实例元数据中可见的信息表明,ELB/ALB可能是未来的一个功能,这表明它可能在未来...但现在不是这样。

当然,CloudFront可以与任意原始服务器一起使用 - EC2,Lightsail甚至根本不在AWS中的原始服务器。(我的客厅里有一台服务器,在CloudFront后面工作)。如果您不需要在CloudFront和Lightsail计算机之间进行加密 - 只需在浏览器和CloudFront之间进行加密,那么您可以今天进行配置,并在CloudFront上使用ACM证书,并将Lightsail作为原始服务器。唯一的问题是,您不会使用Lightsail的免费出站带宽备份到互联网 - 您将使用CloudFront出站互联网带宽,该带宽没有像Lightsail这样的大型免费配额。

11

根据其他答案,您无法使用AWS Certificate Manager为Amazon Lightsail实例或任何其他EC2实例创建和安装证书。但是,您可以创建自己的SSL/TLS证书并手动安装它们。 Liteail的Lightsail实例由Bitnami和Bitnami提供,详细说明如何使用LetsEncrypt创建和安装免费的SSL/TLS证书。

https://docs.bitnami.com/aws/how-to/generate-install-lets-encrypt-ssl/

我只是完成了这个过程成功。

自己测试。

https://lukejanicke.com

我还没有得到它的工作的https:// WWW .lukejanicke.com呢。

+1

注意:请遵循Bitnami的说明。不要按照https://certbot.eff.org上的说明操作。这与Bitnami安装Apache的方式有关。 – lukejanicke