文件
一個 專案

bind

覆寫伺服器 socket 應繫結到的介面。

通常,偵聽器會繫結到空的(萬用字元)介面。但是,您可以強制偵聽器繫結到另一個主機名稱或 IP。此指令僅接受主機,不接受埠。埠是由 網站地址 決定(預設為 443)。

請注意,不一致地繫結網站可能會導致意外後果。例如,如果同一個埠上的兩個網站解析為 127.0.0.1,且其中只有一個網站設定為 bind 127.0.0.1,則只會有一個網站可以存取,因為另一個網站會在沒有特定主機的情況下繫結到埠;作業系統會選擇更具體的配對 socket。(虛擬主機不會在不同的偵聽器之間共用。)

bind 接受 網路地址,但可能不包含埠。

語法

bind <hosts...>
  • <主機...> 是要繫結偵聽器的主機介面清單。

範例

若要讓 socket 只能在目前機器上存取,請繫結到迴圈介面(本機端)

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
}

要繫結到 Unix 域套接字於 /run/caddy

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"
}