bind
覆寫伺服器 socket 應綁定的介面。
通常,監聽器會綁定到空的(萬用字元)介面。但是,您可以強制監聽器綁定到另一個主機名稱或 IP。此指令僅接受主機,不接受端口。端口由站點位址決定(預設為 443
)。
請注意,不一致地綁定站點可能會導致意想不到的後果。例如,如果同一端口上的兩個站點解析為 127.0.0.1
,並且只有其中一個站點配置了 bind 127.0.0.1
,則只有一個站點可以訪問,因為另一個站點將綁定到端口而沒有特定的主機;作業系統將選擇更具體的匹配 socket。(虛擬主機不會在不同的監聽器之間共享。)
bind
接受 網路位址,但可能不包含端口。
語法
bind <hosts...>
- <hosts...> 是要綁定監聽器的 host 介面列表。
範例
為了使 socket 僅在當前機器上可訪問,綁定到迴路介面(localhost)
example.com {
bind 127.0.0.1
}
包含 IPv6
example.com {
bind 127.0.0.1 [::1]
}
綁定到 10.0.0.1:8080
example.com:8080 {
bind 10.0.0.1
}
綁定到位於 /run/caddy
的 Unix 域 socket
example.com {
bind unix//run/caddy
}
要將檔案權限更改為所有使用者都可寫入(預設值為 0200
,僅所有者可寫入)
example.com {
bind unix//run/caddy|0222
}
要將一個網域綁定到兩個不同的介面,並具有不同的回應
example.com {
bind 10.0.0.1
respond "One"
}
example.com {
bind 10.0.0.2
respond "Two"
}