【问题标题】:QuickBooks webhooks works locally with ngrok but not working on productionQuickBooks webhook 在本地与 ngrok 一起工作,但不适用于生产
【发布时间】:2020-12-16 06:05:25
【问题描述】:

我已经完成了他们提供的所有故障排除步骤here。我的端点是可访问的,SSL 通过了测试。当我使用 ngrok 在本地环境中进行测试时,Webhooks 可以工作,但它不适用于托管在 AWS 上并在 Laravel Forge 上管理的登台和生产服务器。 webhook 发布请求根本不会到达服务器。

为此,我多次联系 QuickBooks 支持。他们的回应是,当他们将通知发布到我的端点时,他们会得到一个超时 - StatusCode 41。他们说网络以某种方式限制了流量。还联系了伪造支持,他们说他们不会帮助解决与应用程序相关的问题。

我尝试使用 UFW 禁用防火墙,查看了所有日志,但我没有看到服务器如何限制流量。我重试了几次更改沙盒上的 webhook URL,但没有成功。

任何帮助将不胜感激。,

编辑:SSL 有效,csrf 已关闭,url 可公开访问,来自另一台服务器的 curl 请求正常,日志中没有任何内容。

已解决编辑

在最近对 Webhooks 功能进行更新后,Webhooks 重新开始自行工作。虽然我很高兴它终于可以工作了,但我并不感激我一直在浪费时间调试它。

【问题讨论】:

  • 您的问题似乎与快速手册无关,而与您的登台/生产服务器的设置方式有关。您是否尝试过从浏览器访问您的应用程序?也许是一个测试页面或默认的 Laravel 欢迎页面。你的域A记录配置了吗?您是否配置了security groups 允许您的http 端口?
  • 您首先需要确保 webhook URL 可以被浏览器等客户端访问。尝试在浏览器中访问您的 webhook URL,以查看其可访问性。
  • 愚蠢的想法,但是您是否尝试过使用 ngrok 连接到您的登台服务器?不知道为什么会这样,但可以尝试一下。
  • 应用程序正在生产中。 webhooks URL 是可公开访问的。我们还有其他可用的 API 集成。
  • 当您curl 来自您的生产服务器之一的 webhook 时会发生什么?使用 -v 标志将为您提供有关连接的详细信息,也许是失败的提示

标签: php laravel webhooks quickbooks laravel-forge


【解决方案1】:

只有我的两分钱。故障排除步骤如下。

  1. 检查位于登录防火墙后面的 QuickBooks Webhook?
  2. 通过 POSTMAN 检查您的端点以获得更详细的报告。
  3. 检查您的端点 SSL 证书不是自签名证书,因此请确保端点 URL 以 HTTPS 开头。你可以通过https://www.sslshopper.com/ssl-checker.html查看
  4. 检查您的 webhook 实体和操作是否需要发布权限。所以取消选择并再次选择实体并重新保存。
  5. 确保您的验证者令牌正确
  6. 如果您使用 Cloudflare WAF 检查日志或检查防火墙。
  7. 在 QuickBooks 中打开工单,以便您的生产实施正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多