Nginx容器80端口异常重定向至/quince-builds问题求助
问题排查与解决方案
根据你描述的现象——80端口无论启动何种Nginx容器都会被重定向到/quince-builds,但81端口正常,以下是针对性的排查步骤和解决方法:
1. 排除浏览器缓存干扰
浏览器会缓存301永久重定向规则,即使后端配置已修改,仍会自动跳转:
- 用隐身/无痕模式访问测试,避免缓存影响
- 强制刷新页面:
Ctrl+Shift+R(Chrome/Firefox) - 用
curl命令直接测试(绕过浏览器缓存):
观察输出中的curl -v http://192.168.39.7 curl -v http://192.168.39.7/myrtle-buildsLocation头,确认重定向的来源。
2. 清理Docker网络/iptables残留规则
Docker会通过iptables管理端口映射,旧容器的规则可能残留:
- 查看当前Docker相关的nat规则:
如果发现针对80端口的异常规则,删除对应条目(比如第3条):iptables -t nat -L DOCKER --line-numbersiptables -t nat -D DOCKER 3 - 重置Docker网络(会删除未使用的自定义网络,确认无重要服务再执行):
docker network prune systemctl restart docker
3. 排查宿主机本地服务
即使端口工具显示80端口未被占用,仍需确认是否有隐藏的服务或socket激活进程:
- 用更精准的工具检查端口监听:
ss -tulpn | grep :80 - 检查宿主机是否安装了Nginx/Apache等本地web服务:
如果存在,停止并禁用:systemctl status nginx systemctl status httpdsystemctl stop nginx && systemctl disable nginx
4. 验证端口映射的纯净性
启动一个完全干净的Nginx容器,指定80端口映射,确认是否仍有问题:
docker run -d --name test-nginx -p 80:80 nginx:alpine
用curl访问测试,若仍出现重定向,说明问题出在宿主机网络层面;若正常,则之前的容器配置或镜像存在残留。
内容的提问来源于stack exchange,提问作者LongKang Fan
相关产品推荐
相关产品推荐

