Apache 虚拟主机配置文件包装在容器中,如下所示:
<VirtualHost *:80>
#
# Virtual host config etc...
#
</VirtualHost>
其中*
代表 apache 将接受传入请求的机器的地址。
描述来自Apache 绑定文档
当 Apache 启动时,它会绑定到本地计算机上的某个端口和地址并等待传入请求。默认情况下,它会监听计算机上的所有地址。但是,可能需要告知它监听特定端口,或仅监听选定的地址,或两者兼而有之。
我原本以为 apache 应该“只知道”它应该监听安装它的机器的 IP 地址?
此地址绑定的目的是什么?
在什么情况下您想将其配置为不同的内容?
答案1
目的是允许在各种部署场景中配置 Apache,在这些场景中您可能拥有多个 Apache 实例或多个 IP 地址,并为管理员提供高度的灵活性来配置它。
您的机器可能有多个 IP 地址和/或接口,您可能只希望 Apache 监听并响应其中的一些。例如,您可能希望 Apache 只绑定和接受内部 (RFC1918) IP 地址上的请求,而不是同一台机器上的公共可路由 IP。