Я настраиваю конвейер автоматического развертывания для своего веб-сайта, в рамках которого мне нужно автоматизировать импорт Api с помощью VSTS RM. Я добился этого с помощью пользовательских сценариев PS в задачах VSTS. Я использовал URL-адрес swagger для импорта
i.e
Import-AzureRmApiManagementApi –Context $apimContext –SpecificationFormat 'swagger' –SpecificationUrl 'http://mywebapp.com/swagger/docs/v1' –Path 'apis'
Чтобы повысить безопасность, мы реализовали перенаправление HTTP-запроса на https, который защищен сертификатом клиента. Вот и проблема.
Теперь мы не можем использовать указанную выше команду для импорта, которая возвращает запрещенную ошибку 403, поскольку у диспетчера API нет возможности обойти проверку сертификата. что можно сделать, чтобы решить эту проблему?
Даже я попытался вызвать-webrequest 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 '–Путь' apis '
Но не в оболочке питания VSTS Inline. Он не принимает значение сертификата и возвращает запрещенную ошибку 403.
Пожалуйста, дайте мне знать, как решить эту проблему?
Проблема :
1. Невозможно импортировать в диспетчер API из-за проверки сертификата клиента https на URL-адресе swagger.
- Встроенная оболочка питания VSTS не принимает сведения о параметрах сертификата, хотя я использую правильный сертификат. Тот же случай работает на локальной машине. есть ли какие-либо ограничения в встроенной силовой оболочке VSTS.
Заранее спасибо.