【问题标题】:Connect Timeout Error on cloudhub : Mule version:4.2.2cloudhub 上的连接超时错误:Mule 版本:4.2.2
【发布时间】:2023-04-04 05:45:01
【问题描述】:

我正在尝试使用 https 客户端 api,它在邮递员(在 800 毫秒内给出响应)和本地 mule 流中运行良好,但在 cloudhub 上运行不正常。我收到连接超时错误。它尝试连接 30 秒(根据日志),然后给出 HTTP:CONNECTIVITY 错误。

failed: Connect timeout.
errorType=HTTP:CONNECTIVITY
cause=org.mule.extension.http.api.error.HttpRequestFailedException

我设置的响应超时是 5 分钟。 之前在 cloudhub 上部署时,流程运行良好。虽然我没有对我的代码进行任何更改,但它在几天前停止工作。我无法调试这个问题,因为它在我的本地环境中不可重现(它工作得很好)。任何帮助将不胜感激。

【问题讨论】:

    标签: esb anypoint-studio mulesoft cloudhub


    【解决方案1】:

    mule HTTP 调用提供 4 种不同类型的一般超时。每个都有自己的差异。

    • 连接空闲超时
    • 响应超时
    • 最大空闲超时
    • 查询或事务超时(适用于 DB 连接器)

    既然你得到了

    HTTP:连接错误。 应用 5 分钟响应超时没有帮助。 只有在建立连接握手之后才应该担心响应超时(意味着需要更长的时间来响应)。

    您的问题出在连接本身。

    您可以尝试解决此问题的唯一可能方法是通过 Applying a Connection Idle TimeoutReconnection Strategy 使用一些频率间隙。

    既然您对本地测试如此确定。我建议您执行以下两个步骤:

    1. Try using the same HTTP connector configuration in a separate new mule APP. Try with a simple listener and the failing requestor. Also add one more freely available online REST services into your code in other extra flow. Now try to test both. See which one is working and which is failing.
    

    这可以判断这是一个真正的 HTTP 连接问题还是与某些 mule bug 相关的任何其他问题。

     2. Check your configurations once again and make sure if your hitting the same endpoint in the cloudhub version.
    

    最后,希望你没有不小心在本地版本中放了任何代理配置。

    【讨论】:

      【解决方案2】:

      如果它正常工作,则可能是另一端的网络更改阻止了 CloudHub 应用程序的访问。您没有共享 URL,因此不清楚它是内部主机还是公共主机。我们也不知道服务器端是否存在某种白名单。

      您可以使用 Network Tools 应用程序测试与 HTTP 主机和端口的连接,以查看它是否可以从您的 CloudHub 环境中访问。

      【讨论】:

      • 我确实使用网络工具测试了连接性。无法通过 cloudhub 服务器访问客户端 IP。但我可以通过邮递员和本地骡流打到同一个 Api。我不明白 api 是否对互联网开放,为什么无法从 cloudhub 服务器访问它。对不起,我不能分享 api url
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      相关资源
      最近更新 更多