如何解决使用 Stripe webhooks 时连接被拒绝错误
我在尝试接收网络钩子时不断收到连接被拒绝的错误。
(venv) alexa@main:/etc/nginx/sites-available$ stripe listen --forward-to localhost:5000/webhook/
go package net: built with netgo build tag; using Go's DNS resolver
> Ready! Your webhook signing secret is whsec_************************* (^C to quit)
2021-04-05 18:13:03 --> customer.subscription.updated [evt_1Icwv5HrsuAsSZROjKy4Z5CK]
2021-04-05 18:13:03 [ERROR] Failed to POST: Post "http://localhost:5000/webhook/": dial tcp 127.0.0.1:5000: connect: connection refused)
该端口已通过我的防火墙启用:
To Action From
-- ------ ----
5000 ALLOW Anywhere
5000/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
5555 ALLOW Anywhere
5000 (v6) ALLOW Anywhere (v6)
5000/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
5555 (v6) ALLOW Anywhere (v6)
我的 web 应用程序在 Ubuntu 20.10 上运行
按照 Justin Michael 在评论中的建议运行 curl -v -X POST http://localhost:5000/webhook/
后,我得到以下信息:
* Trying 127.0.0.1:5000...
* TCP_NODELAY set
* connect to 127.0.0.1 port 5000 failed: Connection refused
* Failed to connect to localhost port 5000: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 5000: Connection refused
解决方法
根据您的最新评论,您似乎在本地计算机上运行了 Stripe CLI,并且您正尝试使用它将 Stripe 事件转发到在您的 Linode 上运行的代码。
Stripe CLI 仅用于本地测试,虽然从本地机器转发到 Linode 可能可行,但不推荐这样做。
此处最好的方法是将 set up an actual webhook endpoint in your Stripe Dashboard 或 create one using the Stripe API 指向您的 Linode。
或者,您可以在 Linode 本身上安装 Stripe CLI 并在本地转发,但实际的 webhook 端点将是更好的测试方式,因为您将获得实际的 webhook 端点行为,例如 retries。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。