如何解决将 namesilo 域指向具有特定端口的 EC2 实例
我真的不知道从哪里开始,其他问题与 GoDaddy 有关,它似乎与 namesilo 有足够不同的 CNAME 配置区域,我没有看到相似之处。
我在 namesilo 上购买了域,现在想指向 EC2 实例但是
我在 EC2 上的应用程序在端口 8069 上运行,并且也不是 https(没有 SSL 证书?),所以我必须输入 http://MY.IP.ADD:8069 让它显示出来。
如果我输入,任何人都知道我可以做些什么来检索我的 EC2 应用程序
www.mydomain.com(不带端口号)
AWS 实例和 Route 53“托管区域”
Namesilo
此外,我不想担心 https 会导致“此站点无法提供安全连接” ERR_SSL_PROTOCOL_ERROR'
感谢所有帮助,谢谢!
解决方法
为了能够在浏览器中输入您的域名并将其解析为公共 IP,您需要在您的注册商 (namesilo) 处为您的域配置 A(或 AAAA 用于 IPv6)记录。
A/AAAA DNS 记录不提供映射到特定端口的能力。因此,当您在浏览器中输入 http://<yourdomain>
时,浏览器会将 <yourdomain>
解析为在您的域的注册商的 DNS 配置中配置的 IP 地址,然后它会在端口启动到该 IP 的 TCP 连接80(默认 HTTP 端口)。对于 HTTPS,它是端口 443。
由于您的应用程序不侦听端口 80(或 HTTPS 的 443 端口),因此您需要有一些确实侦听这些端口并在端口之间进行转换的服务器来自浏览器在端口 80 或 443 上的传入连接以及到端口 8069 上的应用程序的连接。
而且由于您还需要 SSL 和 HTTPS,这里有几个选项:
-
在您的 EC2 实例上安装支持 SSL/HTTPS 的代理服务器,例如 nginx 或 Apache HTTP 服务器或任何其他变体,充当您自己的应用程序在端口 8069 上的反向代理。获取 SSL 证书对于您的域,您可以简单地使用letsencrypt。有关于如何在 AWS EC2 实例(使用 Amazon Linux 2)上安装 letencrypt 证书的教程。
-
使用 AWS 应用程序负载均衡器 (ALB) 或网络负载均衡器 (NLB) 作为代理部分。 ALB/NLB 将侦听 80/443 并在其端口上转发到您的应用程序。因此,ALB/NLB 也将执行 TLS 终止。在这里,您可以通过 AWS Certificate Manager (ACM) 颁发 SSL 证书,并在 AWS ALB 上为您的域安装它。接下来,为您的 ALB 配置侦听器规则以在其端口上定向到您的 EC2 实例。
到目前为止,AWS 提供的 DNS 服务 Route 53 尚未在解决方案中发挥作用。但是,您可以(如果您的注册商在配置中支持它 - 但我不认为 namesilo 实际上确实用于顶点记录)使用 DNS 委托:
在这里,如果您有一个与您的自定义域同名的 Route 53 公共托管区域,您将获得 AWS 提供的通常四个名称服务器的列表,然后您可以将其与 NS
记录一起使用在您的注册商的 DNS 配置中,让传入的 DNS 查询委托给您的 Route 53 公共托管区域。这允许您使用指向您的应用程序负载均衡器 (ALB) 的特殊 AWS Route 53 Alias
记录。
Route 53 及其别名记录的解决方案特别有趣,因为使用 ALB,您将获得激活 ALB 的每个子网的公共 IP。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。