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

Laravel与Laravel Orchid混合内容错误排查求助

Laravel + Orchid 混合内容错误(HTTPS登录页请求HTTP Dashboard)解决思路

问题场景

运行环境:Laravel + Laravel Orchid,AWS EC2/S3/Fargate架构;cPanel环境下代码正常,但AWS环境中出现以下问题:

  • 登录页https://website.net/admin/login通过HTTPS加载,但页面尝试请求不安全的http://website.net/admin/dashboard资源,被浏览器拦截,导致登录页面卡顿
  • 已尝试的方案仅解决了图标加载的混合内容问题,核心的dashboard请求问题未解决:
    • 在AppServiceProvider.php中设置URL::forceScheme('https')
    • 创建强制HTTPS重定向的中间件
    • 修改.env中的ASSET_URL为HTTPS地址

针对性排查与解决步骤

1. 强制Orchid路由继承HTTPS配置

Laravel Orchid有独立的路由体系,可能未全局继承Laravel的HTTPS设置:

  • 打开config/orchid.php,给后台路由添加HTTPS强制中间件:
    'routes' => [
        'prefix' => env('ORCHID_ROUTE_PREFIX', 'admin'),
        'middleware' => ['web', 'auth', 'force-https'], // 加入你的HTTPS中间件
    ],
    
  • 或者在app/Providers/OrchidServiceProvider.php的boot方法中直接强制HTTPS:
    public function boot()
    {
        parent::boot();
        if (env('APP_ENV') === 'production') {
            \URL::forceScheme('https');
        }
    }
    

2. 修复AWS负载均衡的请求头传递问题

AWS Fargate/EC2的负载均衡(ALB/NLB)可能未正确传递HTTPS标识,导致Laravel误判请求为HTTP:

  • 确保负载均衡监听器已配置转发X-Forwarded-Proto和X-Forwarded-For请求头到后端实例
  • 修改config/trustedproxy.php,让Laravel信任负载均衡的请求头:
    return [
        'proxies' => '*', // 生产环境建议替换为负载均衡的具体IP段
        'headers' => Illuminate\Http\Request::HEADER_X_FORWARDED_ALL,
    ];
    
  • 同步在.env中添加TRUSTED_PROXIES=*

3. 检查登录跳转逻辑的硬编码地址

确认Orchid登录后的跳转是否存在硬编码HTTP地址:

  • 如果自定义了登录控制器,检查redirectTo属性或redirectPath()方法,改用命名路由生成链接:
    // 替换硬编码URL为命名路由
    protected $redirectTo = route('platform.dashboard');
    

4. 开启Session/Cookie的Secure属性

未设置Secure属性的Session/Cookie可能导致登录状态异常,进而引发跳转错误:

  • 在config/session.php中设置:
    'secure' => env('SESSION_SECURE_COOKIE', true),
    
  • 在config/cookie.php中设置:
    'secure' => env('COOKIE_SECURE', true),
    
  • 同步在.env中添加SESSION_SECURE_COOKIE=true和COOKIE_SECURE=true

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:02:39