Ошибка MSDeploy с сообщением «Ошибка: основное соединение было закрыто: при отправке произошла непредвиденная ошибка». - PullRequest
0 голосов
/ 06 августа 2020

Привет, ребята, я тут борюсь ....

Я не могу решить эту проблему, чем бы я ни занимался.

У меня два веб-сервера, оба с управлением IIS включен, я запускаю сборку со своего сервера сборки, а затем, в зависимости от того, в какой среде она переходит к URL-адресу развертывания MS, изменяется, но команда выглядит так:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='E:\data\teamcity\BuildAgent\work\d9f8b686a8037f97\webdeploy_UAT\BuildCode_UAT.zip' -dest:auto,computerName="https://SERVER.DOMAIN.LOCAL:8172/MsDeploy.axd",userName="\username",password="******",authtype="Basic",includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"E:\data\teamcity\BuildAgent\work\d9f8b686a8037f97\webdeploy_Review\BUILDCODE_UAT.SetParameters.xml"  -allowUntrusted

Я также создал пример команды в своем тестировании также это не работает с производственным веб-сервером:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:dump -source:iisapp="Default Web Site",computername=https://SERVER.DOMAIN.local:8172/,authType=NTLM  -verbose -whatif -allowuntrusted

Я понимаю, что это на самом деле ничего не сделает, однако я бы получил другую ошибку, чем то, что я получал:

Error: Could not complete the request to remote agent URL 'https://SERVER.DOMAIN.local:8172/'.
Error: The underlying connection was closed: An unexpected error occurred on a send.
Error: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
Error: An existing connection was forcibly closed by the remote host
Error count: 1.

Эти команды генерируют обратную связь при выполнении их на моем сервере разработки, этот сервер работает правильно, и я все еще могу развернуть.

Однако этот процесс настраивался и работал годами; за выходные моя команда по инфраструктуре установила windows обновлений, а затем, когда наступило утро понедельника, мы больше не смогли выполнить развертывание на этом сервере.

Что я сделал:

  • Откатил все эти обновления

  • Восстановил виртуальную машину перед установкой обновлений

  • Подтверждено отсутствие проблем с сетью или брандмауэром, как я я могу отправить lnet с сервера сборки через порт 8172 на рассматриваемый сервер ... Кроме того, я попытался запустить команду на самом сервере, изменив URL-адрес на localhost, и он все еще не работает

  • Перезагружен

  • Выполнено восстановление. NET 4.7.2

  • Выполнено восстановление веб-развертывания 3.0

  • Существовали Regedits для включения всех TLS

  • Запуск сценария PowerShell для сброса настроек TLS, чтобы подтвердить, что я не читал regedits неправильно

  • Сравнил настройки TLS с моим сервером разработки - все хорошо d

  • Добавлены изменения SchUseStrongCrypto на моем сервере сборки - без изменений

  • Я даже не могу получить никаких отзывов, кроме «соединение закрыто» При попытке перейти по URL-адресу через браузер

  • Итак, наконец, я установил скрипач на свой компьютер; настроить мое соединение в веб-консоли управления, чтобы разрешить мой IP-адрес, и попытался попасть по URL-адресу, находясь в скрипте, и вот что я получаю:

    HTTP / 1.0 200 Соединение установлено FiddlerGateway: Direct StartTime: 13: 30: 10.019 Соединение : close fiddler.network.https> Подтверждение связи HTTPS с SERVER.DOMAIN.local (для # 21) не удалось. System.IO.IOException Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленный узел. <Существующее соединение было принудительно закрыто удаленным хостом </p>

  • Для меня это означало, что с сертификатом SSL что-то не так, я создал новый самоподписанный сертификат в IIS и применил сертификат через консоль управления, все еще не работает !!

Помогите !!!! Заранее спасибо!

...