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

Laravel接收ClickFunnels Webhook报301 Moved Permanently错误如何解决

Laravel接收ClickFunnels Webhook返回301重定向的排查方案

301永久重定向错误基本都是路由匹配规则、服务器层跳转配置导致的,按以下优先级排查即可:

  • 核对Webhook地址和路由定义完全一致
    首先检查ClickFunnels后台填写的Webhook地址,确认末尾没有多余的/。绝大多数Nginx/Apache默认配置会对末尾带斜杠的非目录路径做301重定向,跳转到不带斜杠的对应路径,而Webhook客户端默认不会跟随POST请求的重定向,直接抛出301错误。你当前定义的路由是funnel_webhooks/test,对应正确地址就是https://dotapp.itulbuild.com/funnel_webhooks/test,不要加任何后缀字符。
  • 修复反向代理HTTPS信任问题
    如果你的站点用了CDN、宝塔面板、负载均衡等反向代理服务,Laravel默认不信任代理服务器转发的请求头,会把代理传过来的HTTPS请求识别为HTTP请求,自动返回301跳转到HTTPS版本的同路径。
    打开app/Http/Middleware/TrustProxies.php文件,修改$proxies属性为*,信任所有代理:
    protected $proxies = '*';
    
  • 本地重放请求定位跳转来源
    如果以上两个配置改完还是报错,直接用curl发POST请求到目标地址,看响应头的Location字段就能定位跳转规则来源:
    curl -X POST https://dotapp.itulbuild.com/funnel_webhooks/test -d "event=purchase_created" -v
    
    • 如果Location值是同路径仅末尾斜杠差异:调整服务器重写规则,关闭对该路径的斜杠强制跳转
    • 如果Location值是同路径仅http/https协议差异:回到上一步检查信任代理配置,或者检查服务器侧的HTTP强制跳转规则有没有逻辑错误
    • 如果Location值是其他路径:检查Laravel全局中间件、路由文件里有没有写全局路径跳转规则,针对性移除即可
  • 提前处理后续会碰到的CSRF拦截问题
    301问题解决后,第三方POST请求会被Laravel默认的CSRF校验拦截返回419错误,提前把Webhook路径加入CSRF白名单:打开app/Http/Middleware/VerifyCsrfToken.php,在排除数组里加入对应路径:
    protected $except = [
        'funnel_webhooks/test',
    ];
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 21:54:32