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

Laravel+Ubuntu服务器Instamojo支付Webhook异常,SSL证书验证失败

解决Laravel站点Webhook SSL验证失败(UNABLE_TO_VERIFY_LEAF_SIGNATURE)问题

你遇到的这个UNABLE_TO_VERIFY_LEAF_SIGNATURE错误,核心原因是服务器的SSL证书链配置不完整。Namecheap的PositiveSSL属于中间证书签发的类型,如果只部署了域名证书,客户端(比如Postman、Instamojo的服务器)无法验证证书合法性,就会出现无法连接或验证失败的情况。下面是一步步的解决办法:

1. 生成完整的SSL证书链

先登录你的Namecheap账户,找到PositiveSSL订单的证书下载页面,通常会拿到三个证书文件:

  • 你的域名专属证书(比如your-domain.crt)
  • PositiveSSL中间证书(比如PositiveSSLCA2.crt)
  • AddTrust根证书(比如AddTrustExternalCARoot.crt)

在Ubuntu服务器上,把这三个文件按域名证书→中间证书→根证书的顺序合并成完整的证书链文件,执行命令:

cat your-domain.crt PositiveSSLCA2.crt AddTrustExternalCARoot.crt > fullchain.crt

2. 配置Web服务器(Nginx/Apache)

根据你使用的Web服务器,更新SSL配置:

如果你用Nginx:

  1. 打开站点的Nginx配置文件,一般路径是/etc/nginx/sites-available/your-site.conf
  2. 修改ssl_certificate和ssl_certificate_key配置项:
    server {
        listen 443 ssl;
        server_name your-domain.com;
    
        ssl_certificate /path/to/your/fullchain.crt;
        ssl_certificate_key /path/to/your/private-key.key;
    
        # 其他SSL配置(协议、加密套件等)保持不变
    }
    
  3. 重启Nginx生效:
    sudo systemctl restart nginx
    

如果你用Apache:

  1. 打开站点的SSL配置文件,比如/etc/apache2/sites-available/your-site-ssl.conf
  2. 更新证书相关配置:
    <VirtualHost *:443>
        ServerName your-domain.com
    
        SSLCertificateFile /path/to/your/fullchain.crt
        SSLCertificateKeyFile /path/to/your/private-key.key
    
        # 其他SSL配置保持不变
    </VirtualHost>
    
  3. 重启Apache生效:
    sudo systemctl restart apache2
    

3. 验证证书链是否正确

配置完成后,用openssl命令检查证书链状态:

openssl s_client -connect your-domain.com:443

在输出里找verify return:1,出现这个说明证书验证正常;如果是verify return:0,要检查合并的证书文件顺序是否正确。

4. 解除Laravel的CSRF限制

Laravel默认会对所有POST请求验证CSRF令牌,但Webhook请求(比如Instamojo的回调)不会携带这个令牌,需要把Webhook路由加入CSRF白名单:
打开app/Http/Middleware/VerifyCsrfToken.php,在$except数组里添加你的Webhook路由:

protected $except = [
    '/your-instamojo-webhook-url',
];

5. 测试Webhook URL

完成以上步骤后,再用Postman访问你的Webhook URL,应该就能正常获取响应了。另外还要注意:

  • Instamojo后台配置的Webhook URL必须是https开头的完整地址
  • 服务器防火墙要允许Instamojo的官方IP访问(可以参考Instamojo文档获取IP列表,添加到UFW或iptables规则里)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:26:49