如何为AWS EC2 Ubuntu实例设置子域?

我正在尝试为我的AWS EC2 ubuntu实例设置子域,但没有足够的知识我无法继续。

  1. 我在域名服务提供商处有一个停放的域名example.com
  2. 我的EC2实例具有弹性IP关联,比如10.10.10.10
  3. 我在域名服务提供商的网站上创build了两个A Recoards。

    www.example.com指向10.10.10.10

    example.com指向10.10.10.10

  4. 一切工作就像一个魅力,我可以访问我的实例与域名。

但现在我想有个人网站/服务的实例的子域名 ,说webmail.example.comdatabase.example.com

我试图为子域设置虚拟主机文件,但是当我访问这些子域名时,它并不工作,chrome说:“ 糟糕!谷歌浏览器无法findsubdoamin.example.com

问:我的问题是,如何为我的服务器设置子域名?

提前致谢。

到目前为止,最简单的方法是为example.com创build一个通配DNSlogging 。 例如

*.example.com. 14400 A 10.10.10.10 

或CNAME

 *.example.com CNAME example.com. 

请记住,Apache将提供ServerName或Serveralias与http请求中Host:头匹配的第一个虚拟主机的内容。 如果这些都不匹配,那么定义的第一个虚拟主机的内容将被视为默认虚拟主机。

要获得apache到服务器的内容,最简单的方法就是使用NameBasedVirtual托pipe。

如果你想从每个虚拟主机服务器相同的内容,然后定义一个

 NameVirtualHost *:80 <VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html ... </VirtualHost> 

如果你想为sub1.example.com和sub2.example.com提供不同的(但是相同的)内容,那么你可以做一些事情

 NameVirtualHost *:80 <VirtualHost *:80> ServerName sub1.example.com ServerAlias sub2.example.com DocumentRoot /var/www/sub1sub2 ... </VirtualHost> <VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html ... </VirtualHost> 

等等。

如果你有很多虚拟主机来设置和configuration你可能想看看Apache的dynamicconfiguration的群发托pipe文档。