我在我的 Ubuntu Linux AWS 虚拟机上的 apache2 上运行着一个 Web 应用程序,目前可以通过内部亚马逊子域(如'ec2-99-99-999-9999.compute-1.amazonaws.com:8080
)访问。
我想通过example.com:8080
我购买的域名来访问它,但我不知道从哪里开始。我知道这可能是一个基本问题,但非常感谢一些指导。
答案1
为您的 EC2 实例分配一个 EIP,然后创建您需要的 DNS 记录(可能是A
主机的记录@
)并将其指向该 EIP。
答案2
您的域名注册商应该有一个控制面板,允许您更改已购买域名的 DNS 设置。您需要将 A 记录更改为您的 VM 的公共 IP(和/或将 AAAA 记录更改为等效的 IPv6 地址,如果有的话)。可能有将 DNS 委托给其他名称服务器的选项,但这不是您现在感兴趣的;只需使用注册商的 DNS。
答案3
1)在 AWS EC2 面板上分配弹性 IP
2)为您的 AWS 实例分配弹性 IP
此时,您可以通过分配的 IP 访问您的服务器。例如 55.544.433.322:8080
3)切换到 AWS 中的 Route 53 面板 4)在这里您可以注册一个新域名,请注意,此域名不是由 AWS 直接托管的,但它似乎集成到了 AWS 中
域名激活后(付款后),您:
5)在 AWS Route 53 面板上再次创建“托管区域”
6) 通常,正确的 NS 和 SOA 记录已正确设置。如果没有,请为您的区域创建正确的记录集。查看 AWS 帮助。
7)创建一个新的“A 记录”,在“值”字段中输入步骤 1 中的弹性 IP
如果想要创建子域名,如 www.domain.com 或 test.domain.com,您可以创建另一个 A 记录,其中“名称”是域名的第一部分(例如 www 或 test)- IP 仍然是分配的 IP。
您可以跳过步骤 1 和 2,但为您的实例分配弹性 IP 可确保您的 IP 保持不变,即使您关闭系统也是如此。此外,您始终可以将 EIP 分配给任何实例,而无需更改 DNS 记录。
如果您希望在端口 8080 上运行的服务无需 :8080 即可使用,则必须设置 nginx 作为端口代理。