vhost 是否可以只监听通用 ip?

vhost 是否可以只监听通用 ip?

VirtualHost 是否可以监听公共 IP,而无需在文件中设置它(而是使用环境配置):

<VirtualHost *:80>
    ServerName $IP;
    # If my server public ip is 123.123.123.123, Apache will automatically replace $IP with this ip.
</VirtualHost>

我问这个问题是因为我将设置多个服务器,并且这样做会更快。

提前致谢。

答案1

通过使用<VirtualHost *:80>虚拟主机,所有 IP 地址都已可用,因此可能不行。*如果您要使用以下方式,则应将其替换为要将虚拟主机绑定到的特定 IP 地址基于 IP 的虚拟主机

服务器名称应该是完全合格的域名,而不是 IP 地址。

第一个虚拟主机条目成为默认虚拟主机,并将用于与任何后续 ServerName 或 ServerAlias 指令不匹配的请求,例如对 ip 地址的请求。

您可以使用环境变量在您的 apache 配置中,没有问题。使用环境变量的语法是${VARIABLE-NAME}

<VirtualHost ${IP}:80>
    ServerName ${HOSTNAME}
</VirtualHost>

相关内容