这是我需要进一步澄清的虚拟主机配置的以下部分:
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin [email protected]
ServerName 141.29.495.999
ServerAlias example.com
...
这是和示例配置,类似于我目前拥有的(我目前没有域名)。
<VirtualHost *:80>
- 允许在端口 80 上向可以联系此服务器的 IP 发出的所有 HTTP 请求进行以下设置。例如,如果可以在多个 IP 上访问服务器,则可以将此指令限制为仅一个而不是两个。
ServerName
- 如果 HTTP 请求的主机部分与此名称匹配,则允许该请求。通常这将是映射到 IP 的域名,但在这种情况下,HTTP 请求主机必须与此 IP 匹配。
ServerAlias
- 服务器接受的备用名称。
对我来说令人困惑的部分是,在上述情况下,如果我设置ServerAlias mytestname.com
然后向 发出 HTTP 请求mytestname.com
,是否必须有一个指向服务器 IP 的 DNS 记录才能正常工作?在这种情况下,ServerAlias 基本上只是 EXTRA ServerName 条目吗?
假设我有一个 DNS 条目,foobar.com = 141.29.495.999
但后来我有ServerName = 141.29.495.999
并且ServerAlias
是空的,这是否意味着尽管 foobar.com 被解析到正确的 IP,因为在ServerName
or中没有接受 foobar.com 的引用ServerAlias
?
或者其他的东西。伙计,我很困惑。