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

时间:2016-07-26 08:11:53

标签: amazon-web-services amazon-ec2 dns amazon-route53

我在端口8080上的ec2实例(公共IP a.b.c.d)上部署了django应用程序,并通过Route53购买了域名“xyz.com”。如何将域名链接到我的应用程序服务器?

我经历过很多文档,但它似乎没有用。我看到在添加记录集时,我需要在值字段中输入我的ec2实例的公共IP,但是如何让它将流量路由到盒子上的端口8080?如果我输入一个像a.b.c.d:8080这样的值,它会错误地说“值字段包含无效字符或格式无效。”

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

  1. 拿了一个ec2实例,在端口8080上部署了我的网络应用程序。一切都是 工作正常,我可以使用公共IP访问我的应用程序(将去 对于弹性IP以后)
  2. 使用Route53注册域名。
  3. 创建了一个名为子域名的托管区域。
  4. 使用以下信息创建记录集: 名称: 键入:A - IPv4地址 别名:没有 TTL(秒):300 价值:< 这是我遗失的小件> 路由策略:简单
  5. 有人可以指点我这方面的任何文件吗?这似乎是一件简单的事情,但不知怎的,我找不到如何将各个部分联系起来。

2 个答案:

答案 0 :(得分:2)

您不应该输入您的端口,只需输入您的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应用程序,但显然这是一个坏主意:Run Django without Apache using runserver on port 80 and accessible outside LAN

答案 1 :(得分:0)

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