首页 文章

shopify webhooks没有在 生产环境 中解雇

提问于
浏览
0

我使用shopify-api-node软件包创建了一个私有应用程序,它使用ngrok在本地开发中非常完美 . 我注册了webhook“产品/更新”,工作正常 .

注册网址: https://example.ngrok.io/webhooks/product-update

但是同样的webhook在 生产环境 环境中注册,webhook并没有被解雇

已注册的网址: https://custom.example.in/webhooks/product-update

当本地服务器和 生产环境 服务器都在运行时,只会向本地服务器(通过ngrok隧道)触发webhook .

我在 生产环境 中使用nginx作为反向代理 . 我检查了nginx的access.log文件,但shopify没有触发webhook请求 . 我尝试创建一个新的私人应用程序,但没有帮助 .

有什么可能的问题?提前致谢 .

2 回答

  • 0

    一些常见问题是:

    • 无效的SSL证书,例如一个是自签名的或一个缺少中间证书的 . 您可以使用https://www.ssllabs.com/ssltest/检查问题

    • 您的服务器或应用程序未配置为接受 POST 请求,而是仅接受其他方法 . 从命令行,您可以通过向您的webhook endpoints 发出带有 curl 的POST请求来检查这一点 .

    • 您的应用已实施webhook验证逻辑,并且您正尝试使用您的开发应用密钥验证 生产环境 webhook .

    • 您创建的webhook已被取消,因为Shopify没有足够快地收到200状态响应 . 您可以使用Webhooks API列出webhook并验证您的Webhooks是否仍然已注册 .

  • 1

    您需要提供更多信息 . 你怎么知道 生产环境 中的webhook没有开火?你有没有证明,当你创建了创建的webhook本身时?检查webhook对象时的样子是什么?一切都好吗?

    如果webhook存在,并且对象看起来都很好,接下来要研究的是你的公共 生产环境 服务器 .

    99/100 webhook问题不是Shopify,而是开发人员做错了 . 确保在问出错之前已经做好了一切!

相关问题