如何在Ec2中获取自签名证书

时间:2019-06-19 07:16:58

标签: amazon-ec2 superuser

我正在Ec2实例中工作。我已经连接了http://13.57.220.172/phpinsert.php之类的php文件。但是它不是安全站点。所以我想将http转换为https://13.57.220.172

我有cloudflare ssl。当我尝试添加SSL证书时。它显示

com.amazonaws.pki.acm.exceptions.external.ValidationException:提供的证书不是有效的自签名。请提供有效的自签名证书或证书链。选择下面的“上一步”按钮并进行修复。

我已将图像随函附上。 enter image description here

那么我如何获得自签名证书。有没有可用的在线工具。

error image

2 个答案:

答案 0 :(得分:0)

我认为您看到的错误消息与这句话有关:

  

如果您的证书是由CA签署的,则必须包括   导入证书时的证书链。

来自https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html

由于听起来您尚未处于“生产”模式,所以我想您不是特别依赖于现有证书,而只是希望证书能够在Web服务器上执行HTTPS(并且真的不在乎它是否是自签名的。

如果您想使用AWS Certificate Manager,我认为让它们(AWS)向您颁发证书而不是尝试从其他地方导入证书会更容易。 AWS不对证书收取任何费用。 https://docs.aws.amazon.com/acm/latest/userguide/acm-billing.html

即使您在AWS Certificate Manager中获得证书设置,也不会直接安装在EC2实例上,而是(很可能)安装在Web服务器前的负载均衡器上,这会增加一点复杂性设置。 https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html

如果您只想在Web服务器上使用HTTPS,则Let's Encrypt(也是免费的)可能是一个更简单的选择。如果您使用的是AWS Linux 2,请在此处说明如何获取证书-https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html

答案 1 :(得分:0)

好吧,加上@jefftrotman已经提到的要点。

如果期望仅使用HTTPS保护IP地址,则可以使用以下方法来实现:

  1. 可以使用OpenSSL创建的自签名证书。

  2. 您还可以从信任签名机构(例如GoDaddy或VeriSign)或“让我们加密”获得SSL证书。

第二点的唯一要求是,要从有效的签名授权机构获取证书,您需要具有“ myphpapp.com”之类的域名,然后使用该域来获取SSL证书。

以下详细信息是为了防止您使用 AWS ACM(Amazon Certificate Manager)

  1. 如果您更喜欢ACM,则可以获得免费的公共SSL证书,该证书可以映射到IP地址,并且您的Web应用程序将受到保护。
  2. 如果您的要求是将SSL证书(例如PEM文件)添加到Web服务器,例如 NGINX或Apache,那么您首先需要在ACM中使用创建一个专用CA,然后您可以使用该CA创建专用SSL证书。创建这些文件后,您可以导出文件并将这些文件添加到配置文件中。 (尝试使用Amazon Linux 2)ec2映像。