我如何 link 我的 Route53 域名到特定端口上的 EC2 实例上的应用程序 运行?

How do I link my Route53 domain name to an application running on an EC2 instance on a specific port?

我在 ec2 实例上部署了一个 django 应用程序(使用 public IP a.b.c.d)端口 8080 并通过 Route53 购买了域名 'xyz.com'。我如何link将域名添加到我的应用服务器?

我看了很多文档,但似乎没有用。我看到在添加记录集时,我需要在值字段中输入我的 ec2 实例的 public IP,但如何才能将流量路由到盒子上的端口 8080?如果我输入像 a.b.c.d:8080 这样的值,它会错误地显示 "The Value field contains invalid characters or is in an invalid format."

到目前为止我完成的步骤:

  1. 拿了一个 ec2 实例,在端口 8080 上部署了我的网络应用程序。一切都是 工作正常,我可以使用 public IP 访问我的应用程序(将去 稍后用于弹性 IP)
  2. 用Route53注册的域名。
  3. 创建了一个带有子域名称的托管区域。
  4. 创建了包含以下信息的记录集: 姓名: 类型:A - IPv4 地址 别名:无 TTL(秒):300 值:<我猜这是缺失的部分> 路由策略:简单

有人可以指点我这方面的任何文档吗?这似乎是一件简单的事情,但不知何故我找不到如何 link 碎片。

您不应该输入您的端口,只需输入您的 IP。您的应用程序将可以在以下位置访问:xyz.com:8080

要使其在 xyz.com 上可访问,您需要配置 Web 服务器(如 nginx、apache...)或将来自端口 80 的请求重定向到端口 8080 的代理。 带有 uWSGI 的 Nginx 上的 Django:http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

您也可以直接在端口 80 上制作您的 django 应用 运行,但显然这是个坏主意:

只是想指出 SRV records 确实支持 DNS 中的端口定义,但我们不应该期望浏览器(或许多客户端)查询 SRV 记录。