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

生产环境部署Laravel+Polaris Shopify应用遇Authorization头缺失500错误

排查步骤与配置检查

针对你部署Laravel+Polaris React Shopify应用时出现的API 500错误(日志提示Missing Authorization key in headers array),结合本地正常、生产环境异常的情况,按以下步骤排查:

  • 检查服务器是否拦截了Authorization请求头
    本地正常但生产环境丢失该头,大概率是web服务器配置过滤了Authorization。

    • 若用Apache,检查两个.htaccess文件,添加规则确保头信息被传递:
      RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
      
    • 若用Nginx反向代理,需在配置中明确传递该头:
      proxy_set_header Authorization $http_authorization;
      
  • 确认CSRF禁用配置正确
    确保是在app/Http/Middleware/VerifyCsrfToken.php的$except数组中添加了API路由,而非直接注释中间件:

    protected $except = [
        'api/*',
        // 你的Shopify相关API路由
    ];
    
  • 验证生产环境.env配置
    核对.env中SHOPIFY_API_KEY、SHOPIFY_API_SECRET、SHOPIFY_APP_URL等配置与本地完全一致,无拼写错误;确认APP_ENV=production、APP_DEBUG=false配置正确。

  • 检查React构建后的请求逻辑
    确认生产构建后的前端代码中,API请求是否正确携带了Authorization头(通常为Bearer {token}格式);排查环境变量是否在build时正确替换,避免因变量缺失导致请求头未设置。

  • 排查Laravel端请求头获取逻辑
    在API控制器或中间件中临时添加日志,打印所有请求头:

    Log::info('Request Headers:', request()->headers->all());
    

    查看日志是否存在Authorization字段,判断是头未传递还是Laravel未读取到。

  • 检查服务器权限与目录结构
    确保web目录及Laravel的storage、bootstrap/cache目录有正确的读写权限;确认部署的目录结构正确,若React build文件放在Laravel的public目录,需保证.htaccess规则指向正确的入口文件index.php。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:17:24