文件說明
一個 專案

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