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

Laravel 8接收第三方Webhook时自定义HTTP头丢失问题排查求助

问题:第三方Webhook自定义请求头丢失,无法获取

我使用第三方服务提供的Webhook,当系统资源发生变更时,该服务会向指定URL发送POST请求。出于安全考虑,请求应包含自定义请求头X_SOLVE360_HMAC_SHA256,这个头提供加密令牌用于请求认证(替代CSRF令牌)。

但目前遇到的问题是,收到的请求中缺失该自定义头。使用Laravel v8的$request->header()方法(应返回所有请求头)未找到所需自定义头,实际上所有自定义头都缺失。尝试原生PHP的getallheaders()或apache_request_headers()函数,结果一致,仅能获取标准请求头:Host、Content-Length、Accept-encoding、User-Agent、Content-Type,$_SERVER全局变量中也无目标头。

怀疑是否存在PHP或Apache配置过滤非标准请求头?应用部署在Dreamhost的VPS上,PHP版本为7.4。

求任何建议或排查线索。


补充说明

通过本地电脑使用Postman向服务器发送带有相同请求头的POST请求时,一切正常。当前的.htaccess配置如下:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # ensure HTTPS before laravel
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 03:45:19