【问题标题】:Azure API PowershellAzure API Powershell
【发布时间】:2017-08-16 16:43:00
【问题描述】:

我正在为我的网站设置自动部署管道,作为其中的一部分,我必须使用 VSTS RM 自动导入 Api。我在 VSTS 任务中使用自定义 PS 脚本实现了这一点。我已经使用 swagger url 导入了

Import-AzureRmApiManagementApi –Context $apimContext –SpecificationFormat 'swagger' –SpecificationUrl 'http://mywebapp.com/swagger/docs/v1' –Path 'apis'

为了提高安全性,我们实施了重定向由客户端证书保护的 http 请求 https。问题来了。

现在我们无法使用上述命令导入返回 403 禁止错误,因为 API 管理器没有绕过证书验证的选项。有什么办法可以解决这个问题?

即使我尝试使用特定证书调用 web 请求 url 并导入在我的本地机器上运行良好的 API。

$swaggerurl="https://mywebapp.org/swagger/docs/1" $cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("xyz.cer") $test=Invoke-WebRequest -Uri "$swaggerurl" -Certificate $cert $test.statuscode

Import-AzureRmApiManagementApi --Context $apimContext --SpecificationFormat 'swagger' --SpecificationUrl 'http://mywebapp.com/swagger/docs/v1' --Path 'apis'

但不是在 VSTS Inline 电源外壳中。它不接受证书值并返回 403 禁止错误。

请告诉我如何解决这个问题?

问题:

1.由于在 swagger url 上验证 https 客户端证书,无法导入 API 管理器。

  1. VSTS 内联电源外壳不接受证书参数详细信息,即使我使用了正确的证书。同样的情况在本地机器上也有效。 VSTS 内联电源外壳是否有任何限制。

提前致谢。

【问题讨论】:

    标签: azure-api-management azure-pipelines-build-task azure-pipelines-release-pipeline


    【解决方案1】:

    已通过将专用代理更改为以管理员帐户运行来解决此问题。现在一切都按预期工作:)

    使用 VSTS 私有代理导入 API

    【讨论】:

      【解决方案2】:

      为此,API 管理服务需要代表您向 url 发出 WebRequest,并在请求中使用 ClientCertificate。 我们目前不提供使用客户端证书调用 Import-AzureRmApiManagementApi 的选项。

      唯一可用的选项是使用 Powershell (Invoke-RestMethod) 发出 WebRequest,将 swagger 下载到本地文件并使用 cmdlet 中的 -SpecificationPath 参数

      【讨论】:

      • 谢谢!相同的代码在 VSTS 中使用安装在我的机器上的私有代理。所以我计划有专用机器(已安装证书)和私人代理来导入 API,其中 swagger url 受客户端证书保护。
      • @paulpuvi 我在使用 Swagger Url 导入 API 时遇到问题。您是否能够下载 Swagger.json 并将其导入 or您是否使用了招摇 URL?你可以请张贴所涉及的步骤吗?提前致谢:)
      【解决方案3】:

      改用Azure PowerShell 步骤/任务。 (包括在部署类别中)

      【讨论】:

      • 它也没有帮助!! ##[error]远程服务器返回错误:(403) Forbidden.
      • @paulpuvi 你能在这里分享详细的构建日志吗? azure powershell 步骤的详细信息(设置)是什么?
      猜你喜欢
      • 2020-07-30
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多