我想在EC2实例上启用ssl . 我知道如何安装第三方SSL . 我还在安全组中启用了ssl .
我只想使用这样的网址:ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com与https .
我找不到任何地方的步骤 .
如果有人可以指导我某些文件或某事,那就太好了 .
编辑:
我在EC2上有一个实例 . 我已经安装了LAMP . 我还在安全组策略中启用了http,https和ssh .
当我在浏览器中打开公共DNS URL时,我可以看到Web服务器运行完美 . 但是当我将https添加到URL时,没有任何反应 .
有没有办法让我失踪?我真的不想在这个实例上使用任何自定义域名,因为我会在一个月后终止它 .
3 回答
事实证明,亚马逊没有提供开箱即用的EC2实例的ssl证书 . 我跳过了他们是虚拟服务器提供商的部分 .
要安装ssl证书甚至是基本证书,您需要从某人那里购买并在您的服务器上手动安装 .
我使用startssl.com他们提供免费的基本ssl证书 .
使用
openssl
创建自签名SSL证书 . CHeck this链接了解更多信息 .在Web服务器上安装该证书 . 正如你提到的LAMP,我想这是Apache . 因此,请检查this链接以将SSL安装到Apache .
如果您重新启动实例,您将获得不同的公共DNS,因此请注意这一点 . 或者将弹性IP地址附加到您的实例 .
正确的是,您的Web服务器需要安装SSL证书和私钥才能为https上的流量提供服务 . 一旦完成,你应该好好去 . 此外,如果您使用自签名证书,那么您的Web浏览器将抱怨不受信任的证书 . 您可以忽略该警告并继续访问该网页 .
对于开发,演示,内部测试(这是我的常见情况),您可以使用隧道工具在ec2中实现演示级https . 在几分钟内,特别是对于[ngrok]的内部测试目的,你会有https(演示级流量通过隧道)
工具1:https://ngrok.com步骤:
将ngrok下载到您的ec2实例:
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
(在撰写本文时,您将在登录后在ngrok主页中看到此链接) .在AWS安全组中启用8080,4443,443,22,80 .
注册并登录ngrok并复制命令以使用令牌激活它:
./ngrok authtoken shjfkjsfkjshdfs
(登录后,您将在主页中看到它)在
EC2
上运行你的http - 非https服务器(any,nodejs,python,等等)运行ngrok:
./ngrok http 80
(如果您的简单http服务器在不同的服务器上运行,则为其他端口)您将获得服务器的
https
链接 .工具2:cloudflare包装
或者,我认为你可以使用ngrok的替代品,这个名为cloudflare wrap,但我没有尝试过 .
工具3:localtunnel
第三种选择可能是https://localtunnel.github.io,与ngrok相反,它可以为您提供免费的子域,但它不是永久性的,但您可以要求特定的子域而不是随机字符串 .
--subdomain request a named subdomain on the localtunnel server (default is random characters)
工具4:https://serveo.net/