文档
一个 项目

bind

覆盖服务器套接字应绑定的接口。

通常,监听器绑定到空(通配符)接口。但是,您可以强制监听器绑定到另一个主机名或 IP。此指令仅接受主机,不接受端口。端口由站点地址(默认为 443)确定。

请注意,不一致地绑定站点可能会导致意想不到的后果。例如,如果同一端口上的两个站点解析为 127.0.0.1,并且只有其中一个站点配置了 bind 127.0.0.1,则只有一个站点可以访问,因为另一个站点将在没有特定主机的情况下绑定到端口;操作系统将选择更具体的匹配套接字。(虚拟主机不在不同的监听器之间共享。)

bind 接受网络地址,但不可以包含端口。

语法

bind <hosts...>
  • <hosts...> 是要绑定监听器的主机接口列表。

示例

要使套接字仅在当前计算机上可访问,请绑定到环回接口 (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 域套接字

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