【问题标题】:API Connect on IBM Cloud: error when trying to expose an local API through API connect on cloudIBM Cloud 上的 API Connect:尝试通过云上的 API Connect 公开本地 API 时出错
【发布时间】:2019-10-02 12:35:43
【问题描述】:

我无法通过云上的 API 连接公开本地 REST API。

云端 API 连接:错误

我使用 IIS 在我的笔记本电脑中创建了一个 Rest API,我想通过 IBM Cloud 上的 API Connect 公开它。由于 IIB Web Admin 中的“Push Rest API”选项不起作用,我使用swagger.json 文件将 API 详细信息手动获取到 APIC on Cloud。我按照以下步骤操作:

  1. 在 IBM Cloud 中为 API Connect 和 Secure Gateway 云代工服务创建资源

  2. 创建了一个安全网关目标并让 SG 客户端在我的笔记本电脑中运行

  3. 使用 IIB V10 创建了一个简单的 Rest API 并将其部署到我的本地集成节点。

  4. 尝试使用 IIB Web 管理员推送 Rest API,方法是将主机指定为 api.us-south.apiconnect.appdomain.cloud 和我的 IBM Cloud 帐户用户名/密码,但提示无法连接:

    无法在主机“api.us-south.apiconnect.appdomain.cloud”端口“443”连接到 IBM API Connect

  5. 然后我尝试使用 IIB RestAPI 项目中可用的 swagger.json 文件手动创建 API。我使用 IBM Cloud 上 APIC 中的“从文件或 URL”选项创建新 API 的选项。

  6. 我在 APIC 设计器中将我的笔记本电脑 IP 作为“主机”值

  7. 在“程序集”中,我包含了“代理”策略并将其目标 URL 更新为 cap-sg-prd-2.securegateway.appdomain.cloud:17041

  8. 当我尝试测试上述内容时,我收到以下错误:

    <httpMessage>Internal Server Error</httpMessage>
    <moreInformation>Backside URL invalid</moreInformation>
    

你能帮忙解决吗?

【问题讨论】:

    标签: apiconnect


    【解决方案1】:

    您缺少以下一项或两项:

    1) “目标 URL”必须是有效的 URL。看起来您刚刚输入了一个主机名,因此您可能需要 https://cap-sg-prd-2.securegateway.appdomain.cloud:17041 这样做并重新发布 API 应该可以解决“Backside URL invalid”错误。

    执行此操作后,您可能会发现由于超时或连接被拒绝错误,您仍然无法访问后端。

    如果是这样: 2) 您是否允许通过本地计算机上的客户端访问安全网关目的地?您必须有意在客户端上设置 ACL 以允许流量到您网络上的主机/端口。

    【讨论】:

    • 嗨,马特,我已经给出了安全网关 URL - 在其中一个教程中以这种格式提到它。但我也会尝试你的建议。 2) 我在笔记本电脑的 Secure Gateway 客户端的 ACL 中提供了 ALL。
    • 听起来教程可能是错误的。如果您有指向该链接的链接,请在此处发布以进行跟进。如果您将 ACL 设置为 all,那么您应该很好。只需修复 URL 问题。 :-)
    猜你喜欢
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 2016-07-21
    • 2017-10-10
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2010-12-25
    相关资源
    最近更新 更多