使用 Route 53 设置子域亚马逊

Posted

技术标签:

【中文标题】使用 Route 53 设置子域亚马逊【英文标题】:setup sub domain amazon using Route 53 【发布时间】:2015-10-19 02:49:48 【问题描述】:

我真的很困惑使用他们的 DNS 服务(托管区域)和另一个 3rd 方注册商在亚马逊上设置子域。这是因为我发现了不同的解决方案,一些包括添加 CNAME 记录,另一些则说在 apache 服务器中使用虚拟主机添加

我应该两者都做还是在记录中添加 CNAME 就足够了。

到目前为止,我已经尝试了第一个解决方案

我添加了 CNAME 记录(例如,假设我的网站是 example.com) 所以我添加了指向 example.com/subdomain 的 CNAME subdomain.example.com。我已经等了 1 天,以便传播 DNS 设置,但当我检查网站时仍然出现错误。

我也尝试在我的 conf 文件中添加虚拟主机,但它根本不起作用。

【问题讨论】:

关注***.com/questions/17930972/… 嘿@samben 谢谢你的回答,正如我在检查 *** 上的其他答案之前所说的那样,但它们不够清楚。例如,那个人提到他添加了指向 mydomain.com 的 CNAME。不要到 mydomain.com/api @MarcelAlMutawa,恐怕它并没有比 cmets 中链接的问题的答案更清楚。您设置了一个 CNAME,它不能包含路径,并且您将 Web 服务器配置为期望该主机名作为虚拟主机。 CNAME 可以引用解析为服务器 IP 地址的任何其他有效主机名。这个问题似乎是重复的。 所以你是说我需要两个(CNAME+VIRTUAL HOST)来设置子域?我很困惑,因为根据亚马逊文档,“要设置 sudomain,您只需要记录集”。另一个是否可以添加 cname 记录(api.example.com)并将其指向路径(example.com/api)? 【参考方案1】:

我认为引用的链接中的答案很清楚,但要澄清更多你应该做什么,请按照以下步骤操作:

1 - 转到您的 AWS 管理控制台 -> Route 53。

根据您的问题,您似乎已经在使用 AWS DNS 服务,这意味着您已经创建了托管区域(如果您没有托管区域,请创建一个)

如需了解更多信息,请关注文档http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/creating-migrating.html

2 - 点击托管区域,然后点击创建记录集

记录集应该是类型 A 指向您服务器的@IP(弹性 IP 或负载均衡器 IP)

例子:

subdomain.example.com -> Type A -> @IP

顺便说一句,您可以为 www.subdomain.example.com 使用指向 subdomain.example.comCNAME 记录

3 - 最后一步是在应用服务器的配置文件中添加虚拟主机。

打开这个文件/etc/httpd/conf/httpd.conf.d

添加以下虚拟主机

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot "/var/www/html/domain_folder"
ServerName example.com
ErrorLog "logs/example.com-error_log"
CustomLog "logs/example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot "/var/www/html/subdomain_folder"
ServerName subdomain.example.com
ErrorLog "logs/subdomain.example.com-error_log"
CustomLog "logs/subdomain.example.com-access_log" common
</VirtualHost>

4 - 在命令行输入以下命令重新启动 httpd

> sudo service httpd restart

PS: => 如果这不起作用,这是一个可能的原因。可能有另一个配置文件干扰这个配置文件。检查 /etc/httpd/conf.d 中的另一个 .conf 文件。通常,您的主 httpd.conf 将在此目录中包含另一个 .conf 文件。确保它没有一些干扰您的虚拟主机设置。如果是这样,请将它们注释掉。

=> 还要确保 NameVirtualHost *.80 取消注释

【讨论】:

以上是关于使用 Route 53 设置子域亚马逊的主要内容,如果未能解决你的问题,请参考以下文章

如何将对子域的请求重定向到 Route 53 上的另一个子域?

Heroku、GeoIP、亚马逊 Route 53

亚马逊route53 DNSSEC支持

如何使用 route53 设置我的域提供商的邮件转发? [关闭]

route53 裸域未到达亚马逊弹性负载均衡器

如何使用子域链接子目录? (虚拟主机、mod_rewrite、htaccess、DNS)