banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Docker] Nginxがこのインターフェースで提供されていない問題が発生しています

[Docker] Nginx の「このインターフェースでは提供されていません」という問題

多くのクラウドサービスプロバイダの VPS(例:Alibaba Cloud ECS / AWS EC2)では、デフォルトで IPv6 サポートが有効になっています。公式の Nginx コンテナを Docker で実行する際に、ネットワークの設定が適切でない場合、次のエラーが発生することがあります。

404 Site 172.17.0.x is not served on this interface

一般的には、サーバーが IPv6 と IPv4 の両方を同時に有効にしているため、必要に応じて 1 つを無効にする必要があります。両方を同時に有効にしている場合は、個別に処理する必要があります。

# IPv6 を使用し、暗黙的に IPv4 と下位互換性を持たせる

server{
listen [::]:80 default ipv6_only=on;
server_name _ ;
}

IPv6 と IPv4 を同時に有効にし、明示的に下位互換性を持たせる

# IPv6 と IPv4 を同時に有効にし、明示的に下位互換性を持たせる
server{
listen 80 default;
listen [::]:80 ipv6_only=on;
server_name _ ;
}

IPv4 のみを使用し、IPv6 との互換性は持たせない

# IPv4 のみを使用し、IPv6 との互換性は持たせない
server{
listen 80 default;
server_name _ ;
}

Docker の IPv6 サポートを無効にする(おすすめしません)

vi /etc/docker/daemon.json

/etc/docker/daemon.json に IPv6 を無効にする設定を追加します

{
...
ipv6='False',
......
}

404 Site 172.17.0.x is not served on this interface

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。