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