我正在为我的网站设置自动部署管道,作为其中的一部分,我必须使用VSTS RM自动导入Api。我在VSTS任务中使用自定义PS脚本实现了这一点。我用过“傲慢号”来进口。
i.e
Import-AzureRmApiManagementApi –Context $apimContext –SpecificationFormat 'swagger' –SpecificationUrl 'http://mywebapp.com/swagger/docs/v1' –Path 'apis'为了提高安全性,我们实现了重定向由客户端证书保护的http请求https。问题来了。
现在,我们无法使用上面的命令导入,因为API管理器没有绕过证书验证的选项,所以返回403禁止的错误。怎样才能解决这个问题呢?
甚至我也尝试过用特定的证书调用-webrequest,并导入在本地机器上工作良好的API。
$swaggerurl="https://mywebapp.org/swagger/docs/1“$cert =新对象https://mywebapp.org/swagger/docs/1 $test=Invoke-WebRequest -Uri "$swaggerurl”-Certificate $cert $test.statuscode
导入-AzureRmApiManagementApi-Context $apimContext -SpecificationFormat 'swagger‘-SpecificationUrl 'http://mywebapp.com/swagger/docs/v1’-Path 'apis‘
但不是在VSTS内嵌电源壳。它不接受证书值并返回403禁止的错误。
请告诉我如何解决这个问题?
发行:
1.由于swagger url上的https客户端证书验证,无法将其导入到API管理器。
提前谢谢。
发布于 2017-06-13 19:41:12
此问题已通过将私有代理更改为管理帐户来解决。现在一切都如预期的那样:)
使用VSTS私有代理导入API
发布于 2017-03-24 04:33:11
使用Azure PowerShell步骤/任务代替。(包括在部署类别中)
https://stackoverflow.com/questions/42987720
复制相似问题