【问题标题】:Quickbooks webconnector initial setup: HTTP Status 403 ForbiddenQuickbooks 网络连接器初始设置:HTTP 状态 403 禁止
【发布时间】:2017-09-26 17:31:44
【问题描述】:

我正在通过他们的网络连接器与 quickbooks 桌面集成。我以前做过这个,所以我不是完全绿色,但我正在尝试设置一个新的应用程序并且在诊断问题时遇到了麻烦。我已将我的应用程序添加到 webconnector 并使用 quickbooks 进行身份验证。我已经正确配置了我的应用程序 URL 并且可以正常工作,并且在它启动(服务器端)快速手册处理程序之前,我已经将它设置为在任何时候被任何东西击中时记录服务器端。这样,我就知道 URL 是否被调用了。

当我第一次添加应用程序时,它会点击 URL 以验证 SSL 证书,它成功地完成了,并且我的服务器端日志验证服务器端应用程序已被调用。但是,当我尝试从 quickbooks webconnector 内部更新应用程序时,我立即收到错误消息:

QBWC1012:由于以下错误消息,身份验证失败: 请求失败,HTTP 状态为 403:禁止。请参阅 QWCLog 了解 更多细节。记得开启登录功能。

这听起来当然像是服务器端错误,但事实并非如此:我已反复验证应用程序 URL 在 QWC 文件中已正确配置,应用程序 URL 在任何情况下都不会返回 403,并且计算机本身可以访问应用程序 URL(我将其从 webconnector 文件中复制并粘贴到 Internet Explorer 中)。

QWCLog 文件似乎没用:日志记录似乎已开启(今天有日志文件初始化的消息),但在运行时没有任何内容添加到日志文件中。日志文件本身表明日志级别设置为“DEBUG”。这是最新的条目:

Log file initialized at Tuesday, September 26, 2017 - 1:28 PM UTC  
Timestamp format used: YYYYMMDD.HH:MM:SS UTC
QBWebConnector 2.2 has been initialized with its logging status to level = DEBUG.
Please restart QBWebConnector for any change in log level to take effect. Use file menu to clear log.

20170926.13:28:09 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20170926.13:28:09 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20170926.13:28:09 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20170926.13:28:09 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20170926.13:28:11 UTC : QBWebConnector_Load() : 
QuickBooks Web Connector 2.2.0.71 has started.
Tuesday, September 26, 2017 at 9:28:11 AM
20170926.13:28:11 UTC : QBWebConnector_Load() : QBWC Form Loaded
20170926.13:42:45 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False
20170926.13:42:45 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked *********************
20170926.13:42:45 UTC : StopFlexConnector : Object reference not set to an instance of an object.
20170926.13:42:45 UTC : StopFlexConnector :    at QBWebConnector.QBWebConnector.StopFlexConnector()

日志文件有错误,但是好像和日志初始化有关,当然也没有具体针对我的请求。 webconnector 中已经安装了其他应用程序,今天已成功运行,因此 webconnector 本身正在运行,尽管日志文件中有明显的错误。

回顾一下我需要帮助的问题:

  1. 我的 webconnector 应用程序给了我一个“403: Forbidden”错误,但我的应用程序 URL 是正确的,我的应用程序只返回一个 200,并且从未被调用。
  2. 日志文件根本没有任何关于问题的信息。这可能表明日志文件也已损坏,但我对 Windows 权限(或 webconnector 的怪癖)不够熟悉,无法知道是否存在单独的问题或日志记录是否很糟糕。

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: php nginx quickbooks connector qbxml


    【解决方案1】:

    这是一个服务器端错误。您的 Web 服务器上的某些东西正在生成 403 Forbidden HTTP 错误。

    您需要修复您的网络服务器或脚本。

    如果您需要其他帮助,请发布 URL 并运行干净的日志文件,并将 Web 连接器设置为 VERBOSE 日志记录模式。如果没有这些额外的信息,就不可能进一步排除故障。

    【讨论】:

    • 该 URL 是一个内部测试站点,因此我认为将其发布在这里不会有什么好处(否则我会包含它)。 Webconnector 本身也没有太大帮助:我实际上在 webconnector 中尝试了“清除日志”命令,以确保我正在查看日志文件中的正确内容,但它似乎没有效果:当我告诉 webconnector清除日志,我没有错误,没有反馈,并且日志保持不变。我认为我的一半问题是 QB 存在于我无法管理且没有真正权限的窗口服务器上。
    • 当我弄清楚发生了什么时,我会回来更新,但现在我很确定不是我的网络服务器产生了 403 错误:我已经测试了我的结束事情广泛。我一直想知道是否可能有内部窗口或网络设置会导致它:网络有一些我无法控制的广泛过滤/防火墙,但由于一切都可以从浏览器加载,我可以' t 确定问题可能出在哪里。
    • 我可以告诉你,这肯定不是 Web 连接器本身。所以它要么是你的网络服务器,要么是你和你的网络服务器之间的东西。我不确定(假设 URL 使用有效的 SSL/TLS 证书)如何拦截加密数据并伪造 403 错误。听起来您的日志记录也不起作用 - CLEAR LOG 按钮应该起作用。
    • sigh 这就是我试图对问题不存在做出强有力的断言的意思。我终于记得检查我的(nginx)服务器日志,果然我看到返回 403 的请求进来......我才意识到问题是什么......代码点火器对所有 POST 请求都提供了 CSRF 保护...是时候关闭它了...
    • 谢谢,就是这样。有时你只需要一个友好的提醒,“不,这是你的问题:挖掘更多”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2012-01-08
    相关资源
    最近更新 更多