使用 AWS Route 53、负载均衡器、EC2、Apache 的子域

使用 AWS Route 53、负载均衡器、EC2、Apache 的子域

我曾尝试遵循一些不同的教程,但无法让它发挥作用。

我在 Route 53 中拥有我的域名(example.com)的所有 DNS。运行良好。

我的顶级域名(A 记录)以别名的形式指向我的负载均衡器 (AWS)。这指向 EC2 服务器并且运行正常。

我想添加一个子域名 (client.example.com),但我不太确定在哪里添加以及我需要什么类型的记录。我希望它指向与我的顶级域名相同的 EC2 服务器上的目录(该目录的路径为 example.com/client)。我不希望它重定向,只提供此目录中的文件。

不确定是否需要创建一个新的托管区域,在区域中放置什么,将其指向什么,以及是否需要修改服务器上的任何内容(例如重写规则)。

任何指示都将受到赞赏。

答案1

我没有使用过太多 AWS,但一般的操作方式如下。

假设您目前已example.com在 Route53 中托管,因此 Route53 是您区域的权威名称服务器example.com。现在,如果您想要一个名为 的子域名client.example.com,它同样需要指向相同的 IP 地址example.com

因此在这种情况下创建一个CNAME 记录其中example.com为规范名称,client.example.com为别名记录。

一旦完成此操作example.com,它们client.example.com都会解析为同一个 IP 地址,即负载均衡器。

如果您希望分享相同的DocumentRoot内容example.com,则client.example.com无需做其他事情。但如果您想提供不同的内容,请创建一个基于名称的虚拟主机在 Apache 中。

更新

由于您希望同时demo.example.com提供example.com不同的内容,因此您必须在 Apache 中创建一个基于名称的虚拟主机。

配置如下

<VirtualHost *:80>
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/main
</VirtualHost>

<VirtualHost *:80>
     ServerName demo.example.com
     DocumentRoot /var/www/content
</VirtualHost>

/var/www/main如果请求的是http://example.com或 ,则上述配置将从 提供文件。如果请求的是 ,http://www.example.com则将从 提供文件。/var/www/contenthttp://demo.example.com

相关内容