问题描述
我已经有一个域,例如exmaple.com,并且有一个在ec2实例上运行的简单应用。
我为此实例分配了一个弹性IP,并在路由53上创建了一个区域,创建了A record
,还创建了一个alias record
。
当我在自己的计算机上ping example.com时,DNS名称解析为正确的IP地址。
当我检查弹性IP时,它可以正常工作并显示我的网站,但是当我检查example.com时,它不显示我的应用程序并显示This site can’t be reached
:
this is a screenshot of what it shows
解决方法
基于评论。
该问题是由于使用https,而不是http。 http连接有效。要设置https ,需要执行以下常规步骤:
- 获取公共SSL证书。由于您正在使用实例,因此无法使用AWS ACM。在这种情况下,https://letsencrypt.org/是一个流行的选择,您可以在其中为您的域及其子域注册免费的SSL证书。
- 在您的实例上设置ssl连接。通常,这是通过使用 nginx 作为反向代理来完成的。 Nginx将使用步骤1中的SSL证书为您的实例提供HTTPS。
- 打开安全组中的端口 443 (HTTPS)。
另一种方法是使用应用程序负载平衡器(ALB)来放置实例。使用它,您可以轻松获得免费的AWS ACM免费证书并将其部署在ALB上。在这种情况下,无需对实例执行任何操作。