bind🔗
サーバーのソケットをバインドするインターフェイスをオーバーライドします。
通常、このリスナーは空の (ワイルドカード) インターフェイスにバインドします。ただし、リスナーを別のホスト名や IP に強制的にバインドすることもできます。このディレクティブでは、ホストのみを受け付け、ポートは受け付けません。ポートは、サイトアドレス によって決定されます (デフォルトは 443
)。
サイトが矛盾してバインドされると、意図しない結果が生じる可能性があります。たとえば、同じポート上の 2 つのサイトが 127.0.0.1
に解決され、そのサイトのうちの 1 つだけが bind 127.0.0.1
で構成されている場合は、特定のホストを持たずにポートにバインドするため、アクセスできるサイトは 1 つだけです。OS はより具体的に一致するソケットを選択します。(バーチャル ホストは異なるリスナー間で共有されません。)
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
}
1 つのドメインを 2 つの異なるインターフェイスにバインドして、異なるレスポンスを使用する場合
example.com {
bind 10.0.0.1
respond "One"
}
example.com {
bind 10.0.0.2
respond "Two"
}