亚马逊EC2 + SSL

Nee*_*mar 17 ssl amazon-ec2

我想在EC2实例上启用ssl.我知道如何安装第三方SSL.我还在安全组中启用了ssl.

我只想使用这样的网址:ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com与https.

我找不到任何地方的步骤.

如果有人可以指导我某些文件或某事,那就太好了.


编辑:

我在EC2上有一个实例.我已经安装了LAMP.我还在安全组策略中启用了http,https和ssh.

当我在浏览器中打开公共DNS URL时,我可以看到Web服务器运行完美.但是当我将https添加到URL时,没有任何反应.

有没有办法让我失踪?我真的不想在这个实例上使用任何自定义域名,因为我会在一个月后终止它.

Nee*_*mar 10

事实证明,亚马逊没有提供开箱即用的EC2实例的ssl证书.我跳过了他们是虚拟服务器提供商的部分.

要安装ssl证书甚至是基本证书,您需要从某人那里购买并在您的服务器上手动安装.

我使用startssl.com他们提供免费的基本ssl证书.

  • "基本"和"非基本"证书之间有什么区别?我很难理解为什么价格差异如此之大,从每年5美元到250美元不等. (2认同)

Tom*_*vid 10

对于开发、演示、内部测试,(这对我来说很常见)您可以使用隧道工具在 ec2 中实现演示级 https。在几分钟内,特别是为了使用 [ngrok] 进行内部测试,您将拥有 https(演示级流量通过隧道)

工具 1:https : //ngrok.com步骤:

  1. 将 ngrok 下载到您的 ec2 实例:(wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip在撰写本文时,您将在登录后在 ngrok 主页中看到此链接)。
  2. 在您的 AWS 安全组中启用 8080、4443、443、22、80。
  3. 注册并登录 ngrok 并复制命令以使用令牌激活它:(./ngrok authtoken shjfkjsfkjshdfs登录后您将在他们的主页中看到它)
  4. 在上运行您的 http - 非 https 服务器(任何、nodejs、python 等) EC2
  5. 运行 ngrok:(./ngrok http 80如果您的简单 http 服务器在不同的服务器上运行,则使用不同的端口)
  6. 您将获得一个https指向您的服务器的链接。

工具 2:cloudflare 包裹

或者,我认为您可以使用称为 cloudflare wrap 的ngrok 替代方案,但我还没有尝试过。

工具 3:本地隧道

第三种选择可能是https://localtunnel.github.io,与 ngrok 不同,它可以免费为您提供一个子域,它不是永久性的,但您可以要求特定的子域而不是随机字符串。

--subdomain request a named subdomain on the localtunnel server (default is random characters)

工具 4:https : //serveo.net/


sla*_*fer 6

  1. 使用创建自签名SSL证书openssl.查看链接以获取更多信息.
  2. 在Web服务器上安装该证书.正如你提到的LAMP,我想这是Apache.因此,请检查链接以将SSL安装到Apache.

如果您重新启动实例,您将获得不同的公共DNS,因此请注意这一点.或者将弹性IP地址附加到您的实例.

但是当我将https添加到URL时,没有任何反应.

正确的是,您的Web服务器需要安装SSL证书和私钥才能为https上的流量提供服务.一旦完成,你应该好好去.此外,如果您使用自签名证书,那么您的Web浏览器将抱怨不受信任的证书.您可以忽略该警告并继续访问该网页.

  • 谢谢.这有效.但是,AWS是否有自己的通配符ssl可用于我可以安装的地方?安装自签名证书将始终在浏览器上发出警告.我不想那样.因为我将这些用于Facbeook应用程序.他们需要SSL.我也不想买域名. (3认同)
  • 我不知道来自AWS的此类证书.尝试在[AWS论坛](https://forums.aws.amazon.com/index.jspa)上发布您的查询,以便您可以从AWS人员那里获得更好的洞察力. (2认同)