【发布时间】:2020-10-20 00:15:24
【问题描述】:
生产设置:Nginx / Gunicorn / Supervisor 上的 Django v3.0.5(我按照 here 的指示)
(我不认为这是任何问题,但我正在使用 dj-stripe 进行 django/stripe 集成)
在开发过程中(django 的内置 HTTP 服务器).. 一切似乎都正常(即 stripe 可以很好地发送 webhook 事件)......但是,在生产过程中,我收到电子邮件说 Stripe 无法访问我的服务器.
当我跑步时
curl -D - -d "user=user1&pass=abcd" -X POST https://my.server/stripe/webhook/
我收到此回复
HTTP/1.1 400 Bad Request
Server: nginx/1.15.9 (Ubuntu)
Date: Thu, 18 Jun 2020 19:44:07 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
Vary: Cookie
但是,非 webhook(即通过浏览器访问网站)似乎可以正常工作.. 只是 webhook。
知道这是哪里出了问题吗?
【问题讨论】:
-
听起来您的生产服务器与您的开发服务器有些不同。您在 Stripe 事件日志中看到的关于失败的传递尝试的确切错误消息是什么/
-
@taintedzodiac 是一样的。 4XX 或 3XX。
-
nginx 配置:pastebin.com/hKChEyLu
-
使用
-i选项运行curl并显示输出。您最好将 nginx 配置包含在您的问题中,而不是将其发布在 pastebin 上。 -
我放弃了。 Supervisor/GUnicorn 是调试的一大难题。切换到 uwsgi
标签: django nginx gunicorn supervisord