所有DDEV本地项目均出现404错误,无法通过.ddev.site域名访问
所有DDEV本地项目均出现404错误,无法通过.ddev.site域名访问
看起来你这情况确实闹心——所有DDEV项目都卡在.ddev.site域名访问404,只能靠IP打开,还好暂时能用Lando顶一下。既然常规的关防火墙、断VPN、重启电脑、重装Docker这些操作都试过了,给你几个更针对性的排查方向:
检查本地DNS解析是否正常
.ddev.site域名是靠DDEV的本地解析服务映射到容器IP的,先确认解析环节有没有出问题:- 终端运行
ping 你的项目名.ddev.site或者nslookup 你的项目名.ddev.site,看看返回的IP和ddev describe里显示的容器IP是否一致 - 如果解析无响应或者IP不对,试试重置DDEV的解析配置:先
ddev poweroff彻底停止所有服务,再ddev start重启;如果用了mkcert,也可以mkcert -uninstall再mkcert -install重新安装本地证书和解析服务
- 终端运行
确认ddev-router容器状态
DDEV的域名转发全靠ddev-router这个核心容器,先检查它是不是在正常工作:- 终端运行
docker ps,看看列表里有没有ddev-router容器,状态是不是Up - 如果没运行,直接
docker start ddev-router或者ddev start启动;如果运行正常,查看日志找报错:docker logs ddev-router,里面可能会有反向代理或解析失败的具体提示
- 终端运行
排查系统DNS设置冲突
系统的DNS服务器设置可能会覆盖DDEV的本地解析:- 看看系统是不是用了公共DNS(比如8.8.8.8),可以暂时把DNS改成127.0.0.1(如果DDEV的DNSmasq在本地监听)再试
- 检查有没有其他DNS管理工具(比如AdGuard Home、DNSCrypt)在后台运行,这些工具可能会拦截
.ddev.site的本地解析,先暂停它们再测试
排除浏览器或代理干扰
浏览器缓存、扩展也可能搞出问题:- 用无痕模式打开项目域名,或者禁用所有浏览器扩展再试
- 终端运行
curl -v 你的项目名.ddev.site,查看返回的响应头,有没有异常的301跳转、404原因提示
验证端口占用情况
DDEV的路由器默认用80和443端口,如果被其他服务(比如本地Apache、Nginx、迅雷这类)占用,也会导致域名访问失败:- 终端运行
lsof -i :80和lsof -i :443,看看端口被哪个程序占用 - 停止占用端口的服务,再
ddev poweroff && ddev start重启DDEV
- 终端运行
另外,你之前运行的ddev debug test结果里,重点看DNS Resolution板块,这里通常会直接标记出解析失败的具体环节,能帮你快速定位问题。
内容来源于stack exchange
相关产品推荐
相关产品推荐

