【问题标题】:Point EC2 instance to GoDaddy domain将 EC2 实例指向 GoDaddy 域
【发布时间】:2021-01-29 12:56:15
【问题描述】:
我已经有一个域,例如 exmaple.com,并且我有一个在 ec2 实例上运行的简单应用程序。

我为此实例分配了一个弹性 IP,并在路由 53 上创建了一个区域,创建了A record,还有一个alias record

我已经从 GoDaddy 域设置中的 route53 NS 记录更新了名称服务器(我应该提到我已经等了 48 小时让 ns 被传播,这部分很好)。

当我在自己的计算机上 ping example.com 时,DNS 名称解析为正确的 IP 地址。 当我检查弹性 IP 时,它正在工作并显示我的网站,但是当我检查 example.com 时,它没有显示我的应用程序并显示This site can’t be reachedthis is a screenshot of what it shows

我看不出问题出在哪里!

【问题讨论】:

  • “不显示我的应用程序!” - 它不是很具体?究竟会发生什么?
  • 它说:无法访问此站点。我更新了问题并放了截图
  • 如果您curl 网站? curl -i http://<your-domain-name>?
  • @Marcin 有效:curl -i http:// 无效:curl -i https://
  • 您是否在您的实例上设置了 HTTPS?它需要一些手动设置才能使其工作。它不是开箱即用的东西。

标签: amazon-web-services amazon-ec2 dns amazon-route53 nameservers


【解决方案1】:

基于 cmets。

问题是由于使用 https 而不是 http。 http连接有效。要设置 https,需要执行以下一般程序:

  1. 获取公共 SSL 证书。由于您使用的是实例,因此您不能为此使用 AWS ACM。在这种情况下,一个流行的选择是https://letsencrypt.org/,您可以在其中为您的域及其子域注册免费的 SSL 证书。
  2. 在您的实例上设置 ssl 连接。通常这是通过使用 nginx 作为反向代理来完成的。 nginx 将使用步骤 1 中的 SSL 证书为您的实例提供 HTTPS。
  3. 在您的安全组中打开端口 443 (HTTPS)。

另一种方法是在您的实例前面使用应用程序负载均衡器 (ALB)。使用它,您可以轻松获得免费的 AWS ACM 免费证书并将其部署在 ALB 上。在这种情况下,您的实例无需执行任何操作。

【讨论】:

  • 好的,我去试试,然后告诉你。谢谢你:)
  • @Nasrin 没问题。请告诉我进展如何。
  • 我设置了 Nginx 和 https,现在一切正常。非常感谢你:)
猜你喜欢
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
  • 2017-12-10
  • 2016-07-26
  • 2019-03-19
  • 1970-01-01
  • 2020-02-11
  • 1970-01-01
相关资源
最近更新 更多