我正在尝试为我的AWS EC2 ubuntu实例设置子域,但没有足够的知识我无法继续。
我在域名服务提供商的网站上创build了两个A Recoards。
www.example.com指向10.10.10.10
example.com指向10.10.10.10
但现在我想有个人网站/服务的实例的子域名 ,说webmail.example.com , database.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文档。