如何在 Amazon EC2 上为应用程序设置自定义域?

Posted

技术标签:

【中文标题】如何在 Amazon EC2 上为应用程序设置自定义域?【英文标题】:How to set up custom domain for an app on Amazon EC2? 【发布时间】:2013-08-25 01:47:07 【问题描述】:

我是 Amazon EC2 领域的新手,我刚刚创建了一个应用程序,其 URL 如下所示:

http://ec2-54-123-45-678.compute-1.amazonaws.com:8080

这是由 Amazon EC2 生成的 URL。

现在我需要使用自己的域名,所以当我访问 www.my-domain-name.com 时,我希望看到来自

的内容
http://ec2-54-123-45-678.compute-1.amazonaws.com:8080

我在 Godaddy 上购买了域名。 有什么方法可以在 Amazon AWS 仪表板中执行此操作,还是我需要在 Godaddy 系统中进行设置?

谢谢

【问题讨论】:

【参考方案1】:

我在更一般的层面上回答,因为我在设置我的自定义域时偶然发现了这个线程。

在亚马逊中,我创建了一个实例并将一个 IP 关联到该实例。您可以通过输入亚马逊网址来访问它

我实际上使用的是 Media Temple 而不是 GoDaddy,但它会是相似的。我去了区域文件并将公共网址添加到www

如您所见,这是我的博客,实际上是在自定义域上工作。

我设置了通配符,因为这样,无论有人键入什么,如果未设置,他们仍然会看到该站点。

编辑

对于根 URL,您应该输入弹性 IP 并将其设置为 A 记录。

【讨论】:

但是这种方法有一个问题。当您重新启动您的实例时,URL 可能会更改......您的域将与它不匹配 @eveevans 那么你会做些什么不同的事情呢?我有大约 10 个域,并且不断地重新启动我的实例,没有任何问题。如果 URL 发生变化,我可以快速诊断它。但我很想知道你会做哪些不同的事情,谢谢。 我所做的是请求一个弹性 IP 并将其与一个实例相关联,这样我就可以为该 IP 创建一个 A-Record。 @eveevans 实际上我应该更新我的答案,因为裸域应该在 A 记录中具有弹性 IP。但是,当我为www 和通配符尝试使用 CNAME 的弹性 IP 时,我的 DNS 主机 Media Temple 出现了问题。 @JGallardo 要在“右侧”使用 IP,您必须使用 ElasticIP 设置 A 类型记录:www A eip【参考方案2】:

首先,您需要设置一个与该实例关联的 ElasticIP。

然后将“my-domain-name.com”的“www”的DNS条目指向上述步骤中分配的IP。

您管理 DNS 的位置是另一回事,可以在 GoDaddy 或 AWS Route53 中。您必须在“my-domain-name.com”注册中调整委托 DNS。例如:您的域可以在 GoDaddy 上注册,但其委托 DNS 指向 Route53,因此您可以从 AWS 控制台管理域。

【讨论】:

感谢您的留言,迭戈。我已经尝试过了,我为相应的 EC2 实例创建了 ElastiIP,然后我为我的域名指向了 www DNS 条目,但是当我在浏览器中打开我的 IURL 时,我只看到 www b>哎呀! Google Chrome 无法连接到 my-website.com。我在一两天前做了这件事。我还缺少什么?谢谢。 “www.my-website.com”是否解析为 ElasticIP? 不,同样的问题(抱歉我的回复晚了)。【参考方案3】:

为了设置 DNS 映射,您可以将现有 IP 54.123.45.678 映射到 ex: www.my-domain-name.com。

但是,由于您正在运行运行在 8080 的 tomcat,您需要使用 Apache 将请求转发到 tomcat。这样你就可以在没有 8080 端口的情况下访问 www.my-domain-name.com。如果你使用的是 linux box 安装 Apache,apache-modjk 然后配置站点。

【讨论】:

您必须先关联一个 ElasticIP 并映射 ElasticIP。上面列出的 IP 可以并且将会改变。

以上是关于如何在 Amazon EC2 上为应用程序设置自定义域?的主要内容,如果未能解决你的问题,请参考以下文章

使用NGINX在端口80上为使用虚拟主机的Amazon EC2上托管的域的node.js应用程序提供HTTP流量

Amazon Linux EC2 实例上的 uWSGI 安装异常

如何在 Amazon EC2 上使用 Gunicorn 设置 Nginx 代理缓冲?

如何在 Amazon EC2 主机上设置 Django 网站?

如何在 Amazon EC2 Ubuntu 服务器上设置 GUI

Amazon EC2 EBS 自动备份单行手动工作,但不是来自 cron