Chu*_*ung 4 domain-name-system subdomain linux-networking amazon-web-services
我正在尝试为我的AWS EC2 ubuntu 实例设置子域,但没有足够的知识我无法继续。
我在域名服务提供商的网站上创建了两个 A 记录。
www.example.com 指向10.10.10.10
example.com 指向10.10.10.10
但现在我想有子域的个人网站/服务的情况下,说webmail.example.com,database.example.com。
我尝试为子域设置虚拟主机文件,但是当我访问这些子域时它不起作用,chrome 说“糟糕!谷歌浏览器找不到 subdoamin.example.com ”
问:我的问题是,如何为我的服务器设置子域?
提前致谢。
到目前为止,最简单的方法是为 example.com创建通配符 DNS 记录。例如
*.example.com. 14400 A 10.10.10.10
Run Code Online (Sandbox Code Playgroud)
或 CNAME
*.example.com CNAME example.com.
Run Code Online (Sandbox Code Playgroud)
请记住,Apache 将提供第一个 vhost 的内容,其ServerName或Serveralias与http 请求中的Host: 标头匹配。如果这些都不匹配,那么定义的第一个 vhost 的内容将被提供,因为它被认为是默认的 vhost。
要让 apache 访问服务器内容,最简单的方法是使用NameBasedVirtual托管。
如果您想为每个虚拟主机提供相同的内容,那么只需定义一个
NameVirtualHost *:80
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
如果你想从 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>
Run Code Online (Sandbox Code Playgroud)
等等。
如果您要设置和配置许多虚拟主机,您可能需要查看 Apache 的动态配置的海量托管文档。