[Docker] Nginx 出現 is not served on this interface 問題
很多雲服務商的 VPS,比如阿里雲 ECS/ AWS EC2 都默認開啟了 ipv6 支持。使用 docker 跑 nginx 官方容器時,如果網絡配置不當會出現
404 Site 172.17.0.x is not served on this interface
一般是因為伺服器同時啟用了 ipv6 和 ipv4,按需要關閉一個,如果同時啟用的話,需要單獨處理一下
# 使用 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