Laravel Nova仅生产环境登录返回404问题排查咨询
Laravel 10 + Nova 4.31 生产环境登录404排查方向
清除并重建路由缓存
生产环境默认会启用路由缓存,若Nova路由是缓存后新增/更新的,会导致路由不匹配。执行以下命令:php artisan route:clear php artisan route:cache # 可选,若需要路由缓存优化操作后重新测试登录请求。
重新发布Nova资源与执行安装
生产环境可能未正确完成Nova的资源发布流程,执行:php artisan nova:install php artisan vendor:publish --tag=nova-assets注意:执行前备份
config/nova.php等自定义配置文件,避免被覆盖。校验CSRF令牌与Session配置
登录请求依赖有效CSRF令牌,生产环境可能因Session配置异常导致令牌失效:- 检查登录页面的
<meta name="csrf-token">内容,对比请求头中的X-CSRF-TOKEN是否一致; - 确认
.env文件中APP_URL、SESSION_DOMAIN与生产域名完全匹配,SESSION_DRIVER配置正常(如file/redis)。
- 检查登录页面的
检查服务器请求规则(以Nginx为例)
确认服务器未拦截POST请求或错误重写Nova路由:- 确保Nginx配置中
location /块包含正确的重写规则:location / { try_files $uri $uri/ /index.php?$query_string; } - 检查是否有针对
/nova/*的特殊限制规则,如禁止POST方法。
- 确保Nginx配置中
查看详细错误日志
- 查看Laravel日志:
storage/logs/laravel.log,查找路由匹配失败、CSRF验证失败等具体错误信息; - 查看服务器日志:如Nginx的
error.log、Apache的error_log,确认请求是否被服务器拦截或重定向。
- 查看Laravel日志:
检查Nova中间件配置
打开config/nova.php,查看middleware数组,确保登录路由未被错误添加需要认证的中间件(如auth),导致未登录状态下无法访问登录接口。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

