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

Laravel 10路由找不到求助:/api2/up访问报错

问题排查与修复方案

核心排查方向

  • 路由配置校验
  • 反向代理规则验证
  • Laravel路由缓存清理
  • 容器内服务可用性检测

1. 路由配置检查

首先确认Api2的routes/api.php中是否存在/up路由定义:

// 示例正确配置
Route::get('/up', function () {
    return response()->json(['status' => 'ok']);
});

注意Laravel 10的API路由默认前缀为api/,若反向代理已将/api2指向Api2根目录,则Api2实际应监听/up路由,而非/api2/up,避免前缀冲突。

同时执行命令清除路由缓存(Laravel 10启用缓存后未缓存路由不生效):

php artisan route:clear
php artisan route:cache

2. 反向代理配置验证

Nginx配置修正

若使用Nginx代理Api2,确保proxy_pass末尾添加斜杠,保证请求URI正确传递:

location /api2 {
    proxy_pass http://api2-container:8000/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

缺少末尾斜杠会导致/api2/up被转发为/api2/up至Api2,与Api2的/up路由不匹配。

Apache配置修正

若使用Apache代理,确保ProxyPass规则末尾添加斜杠:

ProxyPass /api2 http://api2-container:8000/
ProxyPassReverse /api2 http://api2-container:8000/

3. Docker容器内服务验证

进入Api2的Docker容器,执行本地请求测试:

curl http://localhost:8000/up
  • 若返回正常:说明容器内服务无问题,问题出在反向代理配置
  • 若返回路由不存在:说明容器内Laravel路由配置有误,需重新检查路由文件、清除缓存

4. 根目录配置校验

确保Api2的Web服务器根目录指向Laravel的public目录:

  • Dockerfile中需正确设置工作目录或在Web服务配置中指定根目录:
WORKDIR /var/www/html/public

根目录错误会导致Laravel路由解析逻辑失效。


内容的提问来源于stack exchange,提问作者Никита Середа

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 11:32:36