You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DDEV中配置Nginx basic_auth?认证后404问题排查

DDEV中Nginx Basic Auth配置后出现404的问题排查与解决

你的问题出在自定义了完整的server块,覆盖了DDEV默认的Nginx配置规则,导致认证通过后,Nginx无法按照DDEV的默认逻辑处理请求(比如转发PHP到FPM、正确映射应用根目录),从而返回404。

问题分析

DDEV的.ddev/nginx_full/目录下的配置文件,是追加到DDEV默认的server块中生效的,而非独立定义新的server。你写的完整server块会和DDEV自带的server配置冲突,并且丢失了默认的请求处理规则(比如fastcgi_pass转发PHP请求、正确的根目录映射细节等),所以认证通过后,Nginx找不到正确的资源路径。

修复步骤

  1. 替换.ddev/nginx_full/auth.conf的内容,删除完整的server块,只保留认证相关的location规则:
location ^~ / {
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

如果只需要保护特定路径(比如后台),可以把/改成对应路径,比如/admin/。

  1. 确保.htpasswd文件存在且路径正确:
    通过DDEV命令创建密码文件(替换username为你的用户名):
ddev exec htpasswd -c /etc/nginx/.htpasswd username

执行后输入密码即可生成合法的.htpasswd文件。

  1. 重启DDEV使配置生效:
ddev restart

这样配置后,认证逻辑会附加到DDEV默认的server规则上,既保留了基础的请求处理能力,又实现了路径访问的身份验证。

内容的提问来源于stack exchange,提问作者user5603542

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:02:32