Apache 虚拟主机语法
Apache VirtualHost Syntax
这个:
<VirtualHost subdomain.example.com:443>
...
ServerName subdomain.example.com
...
</VirtualHost>
有效。通常你会看到 *:443 或 <IpAdress>:443
.
为什么 subdomain.example.com:443 有效?
之所以有效,是因为 subdomain.example.com:443
是 valid documented value:
<VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost>
Addr
can be any of the following, optionally followed by a colon and a port number (or *)
- 虚拟主机的IP地址;
- 虚拟主机 IP 地址的完全限定域名(不推荐);
- 字符*,作为通配符,匹配任意IP地址。
- 字符串
_default_
,它是 * 的别名
我知道不建议使用域名,因为它可能需要 DNS 查询,并且实际过滤是在 IP 地址上完成的(对此持保留态度,我只是推测)但它仍然有效。
请注意,这不会影响 Apache 将监听的本地 IP 地址和端口。它只是允许加速虚拟主机解析并在您需要时简化设置。
注:
<VirtualHost subdomain.example.com:443>
仅当 subdomain.example.com
解析为您的虚拟主机绑定的 IP 地址时, 才有效 - 例如由部署 Apache 的服务器处理的 IP 地址。
如果您是 运行 另一台机器上的反向代理,那么此指令将告诉 Apache httpd 绑定到它所在机器上不可用的 IP 地址。
如果你是 运行 IPV4 和 IPV6,我不确定域名会导致 all 可绑定的地址。相同,如果域名绑定到多个地址(地理定位或循环)
因此,虽然它 可能 现在可以工作,但它可能会在所有这些假设不再(全部)正确的情况下随时崩溃
简而言之:绑定到 *
或 _default_
并使用 ServerName(或别名)- 因为一旦请求到达您的网络服务器,您无论如何都需要处理它。
这个:
<VirtualHost subdomain.example.com:443>
...
ServerName subdomain.example.com
...
</VirtualHost>
有效。通常你会看到 *:443 或 <IpAdress>:443
.
为什么 subdomain.example.com:443 有效?
之所以有效,是因为 subdomain.example.com:443
是 valid documented value:
<VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost>
Addr
can be any of the following, optionally followed by a colon and a port number (or *)
- 虚拟主机的IP地址;
- 虚拟主机 IP 地址的完全限定域名(不推荐);
- 字符*,作为通配符,匹配任意IP地址。
- 字符串
_default_
,它是 * 的别名
我知道不建议使用域名,因为它可能需要 DNS 查询,并且实际过滤是在 IP 地址上完成的(对此持保留态度,我只是推测)但它仍然有效。
请注意,这不会影响 Apache 将监听的本地 IP 地址和端口。它只是允许加速虚拟主机解析并在您需要时简化设置。
注:
<VirtualHost subdomain.example.com:443>
仅当 subdomain.example.com
解析为您的虚拟主机绑定的 IP 地址时, 才有效 - 例如由部署 Apache 的服务器处理的 IP 地址。
如果您是 运行 另一台机器上的反向代理,那么此指令将告诉 Apache httpd 绑定到它所在机器上不可用的 IP 地址。
如果你是 运行 IPV4 和 IPV6,我不确定域名会导致 all 可绑定的地址。相同,如果域名绑定到多个地址(地理定位或循环)
因此,虽然它 可能 现在可以工作,但它可能会在所有这些假设不再(全部)正确的情况下随时崩溃
简而言之:绑定到 *
或 _default_
并使用 ServerName(或别名)- 因为一旦请求到达您的网络服务器,您无论如何都需要处理它。