Apache 虛擬主機設定檔包裝在容器中,如下所示:
<VirtualHost *:80>
#
# Virtual host config etc...
#
</VirtualHost>
其中*
代表 apache 將接受傳入請求的機器位址。
描述來自Apache 綁定文檔
當 Apache 啟動時,它會綁定到本機電腦上的某個連接埠和位址並等待傳入的請求。預設情況下,它監聽機器上的所有位址。但是,可能需要告知它偵聽特定端口,或僅偵聽選定的地址,或兩者的組合。
我以為apache應該「只知道」它應該監聽它所安裝的機器的IP位址?
這個位址綁定的目的是什麼?
在什麼情況下您希望將其配置為不同的東西?
答案1
目的是允許在各種部署場景中配置 Apache,在這些部署場景中,您可能有多個 Apache 實例或多個 IP 位址,並為管理員提供高度的靈活性來配置它。
您的機器可能有多個 IP 位址和/或接口,並且您可能只希望 Apache 監聽其中的一些並做出回應。例如,您可能希望 Apache 僅綁定和接受內部 (RFC1918) IP 位址上的請求,而不是同一台電腦上的公用可路由 IP。