首页 > 解决方案 > 使用 R53 和 EC2 在 AWS 上管理子域

问题描述

我按照 AWS 教程页面上给出的所有步骤创建子域(https://aws.amazon.com/es/premiumsupport/knowledge-center/create-subdomain-route-53/),我很确定我做对了一切,因为教程非常简单。对于上下文,在此之前,我在与我的主域(example.com)链接的服务器上设置了一个 LAMP 堆栈。

我的问题是如何上传和管理我的子域(subdomain.example.com)上的文件。我认为我需要做的就是创建一个新的 EC2 实例并将它与我的子域的“托管区域”链接,然后我可以上传文件并且它会工作(就像我在我的原始实例上所做的那样主域)。但是经过多次尝试,我显然做错了,因为我的子域 (subdomain.example.com) 的页面一直显示为空白,只有“无法访问此站点”的文本。

标签: amazon-web-servicesamazon-ec2amazon-route53

解决方案


您说您在实例上安装了 LAMP 堆栈,因此大概有一个 Web 服务器正在侦听端口 80。

要对此进行测试,首先通过 SSH 登录到实例,然后尝试curl localhost测试 Web 服务器。如果失败,则说明您的 Web 服务器有问题。

如果有效,您应该检查与 Amazon EC2 实例关联的安全组。它应该允许来自 80 端口的传入流量0.0.0.0/0

接下来,获取实例的公共 IP 地址。在您自己计算机上的浏览器中,尝试访问 IP 地址,例如http://1.2.3.4. 如果安全组已正确配置,那应该可以工作。

顺便说一句,您应该为 EC2 实例使用弹性 IP 地址 (EIP),这是一个不会更改的“静态”IP 地址。您可以在 EC2 管理控制台中创建 EIP,然后将其与实例关联。这可以防止在实例停止时更改公共 IP 地址。

接下来,尝试通过域名访问实例。如果这不起作用,则使用ping您的域名测试名称解析。Ping 本身不起作用,但它应该显示链接到该域名的 IP 地址。确保 IP 地址与您在上一步中使用的公共 IP 地址相匹配。

如果未提供 IP 地址,则您在托管区域中缺少一个A-Record。您应该在托管区域中创建 A-Record 并为其提供实例的公共 IP 地址。


推荐阅读