amazon-web-services - 将 EC2 实例指向 GoDaddy 域
问题描述
我已经有一个域,例如 exmaple.com,并且我有一个在 ec2 实例上运行的简单应用程序。我为此实例分配了一个弹性 IP,并在路由 53 上创建了一个区域,创建了A record
一个alias record
.
当我在自己的计算机上 ping example.com 时,DNS 名称解析为正确的 IP 地址。当我检查弹性 IP 时,它正在工作并显示我的网站,但是当我检查 example.com 时,它没有显示我的应用程序并显示This site can’t be reached
:
这是它显示的屏幕截图
解决方案
根据评论。
问题是由于使用 https 而不是 http。http连接有效。要设置 https,需要执行以下一般程序:
- 获取公共 SSL 证书。由于您使用的是实例,因此您不能为此使用 AWS ACM。在这种情况下,一个流行的选择是https://letsencrypt.org/,您可以在其中为您的域及其子域注册免费的 SSL 证书。
- 在您的实例上设置 ssl 连接。通常这是通过使用nginx作为反向代理来完成的。nginx 将使用步骤 1 中的 SSL 证书为您的实例提供 HTTPS。
- 在您的安全组中打开端口443 (HTTPS) 。
另一种方法是在您的实例前面使用应用程序负载均衡器 (ALB)。使用它,您可以轻松获得免费的 AWS ACM 免费证书并将其部署在 ALB 上。在这种情况下,您的实例无需执行任何操作。
推荐阅读
- python - 使用 Python 获取无效的 BSON MongoDb $project
- android - Jetpack compose DropdownMenu 带有圆角
- javascript - Fetch API - http 和 https 的 CORS 问题
- c++ - 自定义#pragma 消息警告将实例化跟踪
- c - 如何将合并排序接受数组转换为结构数组
- reactjs - UseMutation 和 RefetchQueries:避免多次调用 react-apollo 的 api
- java - E/RecyclerView:没有附加适配器,跳过布局
- android - Android 找不到参数的方法 protobuf()
- loops - 为什么这里没有识别到这个变量
- r - R:与前一组相比,计算新观察的数量