将 namesilo 域指向具有特定端口的 EC2 实例

Point namesilo domain to EC2 instance with specific port

我真的不知道从哪里开始,其他问题与 GoDaddy 有关,它似乎与 namesilo 有足够不同的 CNAME 配置区域,我看不出有什么相似之处。

我在 namesilo 上购买了域名,现在想指向 EC2 实例 但是

我在 EC2 上的应用程序在端口 8069 上运行,而且也不是 https(没有 SSL 证书?),所以我必须输入 http://MY.IP.ADD:8069 让它出现。

如果我输入

,任何人都知道我可以做什么来检索我的 EC2 应用程序

www.mydomain.com(没有端口号)


AWS 实例和 Route 53 'Hosted Zone'


Namesilo


此外,我不想担心 https 会导致“此站点无法提供安全连接” ERR_SSL_PROTOCOL_ERROR'

感谢所有帮助,谢谢!

为了能够在浏览器中输入您的域名并将其解析为 public IP,您需要在您的注册商处为您的域名配置 A(或 IPv6 的 AAAA)记录(namesilo ).

A/AAAA DNS 记录不提供映射到特定端口的能力。因此,当您在浏览器中输入 http://<yourdomain> 时,浏览器会将 <yourdomain> 解析为在您的域名注册商的 DNS 配置中配置的 IP 地址,然后它会在端口启动到该 IP 的 TCP 连接80(默认 HTTP 端口)。对于 HTTPS,它是端口 443。

由于您的应用程序侦听端口 80(或 HTTPS 的 443),您需要一些服务器 侦听在这些端口上,它在端口 80 或 443 上来自浏览器的传入连接与端口 8069 上的应用程序连接之间进行转换。

并且因为您还需要 SSL 和 HTTPS,所以这里有几个选项:

  1. 在您的 EC2 实例上安装一个 SSL/HTTPS 代理服务器,例如 nginx 或 Apache HTTP 服务器或任何其他变体,作为您自己的应用程序在端口 8069 上的反向代理. 要为您的域获取 SSL 证书,您可以简单地使用 letsencrypt。有关于如何在 AWS EC2 实例上安装 letsencrypt 证书的教程(使用 Amazon Linux 2)。

  2. 使用 AWS 应用程序负载均衡器 (ALB) 或网络负载均衡器 (NLB) 作为代理部分。 ALB/NLB 将侦听 80/443 并在其端口上转发到您的应用程序。因此,ALB/NLB 也将执行 TLS 终止。在这里,您可以通过 AWS Certificate Manager (ACM) 颁发 SSL 证书,并在 AWS ALB 上为您的域安装它。接下来,为您的 ALB 配置侦听器规则以在其端口上定向到您的 EC2 实例。

到目前为止,AWS提供的DNS服务Route 53还没有起到解决方案的作用。但是,您可以(如果您的注册商在配置中支持它 - 但我不认为 namesilo 实际上 does 用于 apex 记录)使用 DNS 委托:

在这里,如果您有一个 Route 53 public 托管区域,其名称与您的自定义域相同,您将获得一个通常由 AWS 提供的四个名称服务器组成的列表,然后您可以将其与NS 在您的注册商的 DNS 配置中进行记录,以便将传入的 DNS 查询委托给您的 Route 53 public 托管区域。这允许您使用特殊的 AWS Route 53 Alias 记录指向您的应用程序负载均衡器 (ALB)。

Route 53 及其别名记录的解决方案特别有趣,因为使用 ALB,您将获得一个 public 每个激活 ALB 的子网的 IP。