Stripe CLI监听正常但仪表盘报「连接远程主机被拒」求助
解决Stripe CLI转发正常但仪表盘提示连接被拒的问题
排查与修复步骤
1. 同步Stripe仪表盘与CLI的Webhook配置
你使用了--load-from-webhooks-api参数加载仪表盘的Webhook配置,但如果仪表盘内的Webhook仍直接指向https://bla.dev.com,Stripe会跳过CLI代理,直接尝试向你的域名发送请求(而你的本地别名域名无法被Stripe服务器访问)。
- 修复方式:删除仪表盘内现有Webhook,重新用CLI创建转发端点(无需
--load-from-webhooks-api参数):
执行后CLI会自动在仪表盘创建对应的Webhook,确保Stripe事件通过CLI转发到本地服务。stripe listen --forward-to https://bla.dev.com/frontend/web/payment/stripe/endpoint/ --skip-verify
2. 验证本地服务的可访问性
虽然浏览器能访问你的本地别名域名,但需确认CLI能正常转发请求到本地服务:
- 用curl模拟POST请求测试端点:
确认返回200;若返回异常,检查本地MAMP服务是否正常运行,防火墙是否拦截CLI的转发请求。curl -X POST https://bla.dev.com/frontend/web/payment/stripe/endpoint/
3. 更新Stripe CLI版本
旧版本CLI可能存在API兼容性问题(当前使用的API版本为2022-08-01):
- 执行命令更新CLI:
更新完成后重新启动监听。stripe update
4. 检查Webhook签名秘钥一致性
确保代码中使用的签名秘钥是CLI输出的whsec_XXXXXXXXXXXXXXXXXXXXXXXX55,而非仪表盘内的旧秘钥;同时排查事件处理逻辑是否存在未捕获异常,导致请求异常终止。
5. 重启相关服务
临时连接异常可能引发该问题,重启Stripe CLI和本地MAMP服务,清除缓存后重新测试支付流程。
内容的提问来源于stack exchange,提问作者Shaho
相关产品推荐
相关产品推荐

