Я пытаюсь использовать Web Deploy 3.5 в тестовой среде. Ошибка 404, хотя на тестовом сервере установлено приложение Web Deploy 3.5 и запущена служба веб-управления.
Я даже пробовал это локально (на тестовом сервере) в командной строке с помощью:
"c:\Program Files (x86)\IIS\Microsoft Web Deploy V3"\msdeploy -verb:sync -source:contentPath="E:\Downloads\Deployments\DefaultSite_All_MSDeploy.zip" -dest:contentPath='DefaultSite/mySiteName',ComputerName="https://localhost:8172/msdeploy.axd?site=PhaseI",UserName='americas\r.compton',Password='notmypassword',AuthType='Basic' -enableRule:doNotDeleteRule -allowUntrusted -verbose
Ошибка возвращается в командной строке Подробно: предварительная аутентификация по URL-адресу удаленного агента 'https://servername.com:8172/msdeploy.axd?site=mySiteName'как' americas \ r.compton '. Код ошибки: ERROR_DESTINATION_NOT_REACHABLE Дополнительная информация: не удалось подключиться к удаленному компьютеру ("servername.com"). На удаленном компьютере убедитесь, что веб-развертывание установлено и что требуемый процесс («Служба веб-управления») запущен. Узнайте больше на: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE Ошибка: удаленный сервер возвратил ошибку: (404) не найдено.
ЖУРНАЛЫ IIS:
# Программное обеспечение: Microsoft Internet Information Services 7.5
# Версия: 1.0
# Дата: 2013-12-12 18:18:41
# Поля: дата время s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs (User-Agent) sc-status sc-substatus sc-win32-status time -pted2013 -12-12 18:18:41 138.57.160.65 POST /msdeploy.axd site = mySiteName 8172 - 145.30.91.141 - 404 7 0 145
# Программное обеспечение: Microsoft Internet Information Services 7.5 # Версия: 1.0
# Дата: 2013-12-12 21:08:23
# Поля: дата время s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs (User-Agent) sc-status sc-substatus sc-win32-status time-made 2013-12-12 21:08:23 fe80 :: 7157: 1fcd: 691b: 93f% 10 HEAD /msdeploy.axd site = PhaseI 8172 - fe80 :: 7157: 1fcd: 691b: 93f% 10-404 7 0 0 2013 -12-12 21:09:32 fe80 :: 7157: 1fcd: 691b: 93f% 10 HEAD /msdeploy.axd site = PhaseI 8172 - fe80 :: 7157: 1fcd: 691b: 93f% 10-404 7 0 0
Я думаю, что httpHandler, msdeploy.axd не установлен или настроен неправильно. Стоит ли ожидать увидеть его среди httpHandlers в C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ web.config?
К сожалению, веб-развертывание не работает должным образом, когда у вас есть решение с одним приложением ASP.NET MVC и двумя веб-службами ASP.NET. Единственный способ решить эту проблему - изменить свой шаблон процесса сборки для вызова удаленных сценариев PowerShell для развертывания за меня.
Я должен добавить, что один «обман», который я рассмотрел, но не реализовал, заключался в установке службы сборки TFS на сервере приложений Dev и пометкой ее только для развертываний. Я подумал, что это решение было немного неэлегантным.
Я раньше не использовал обработчик msDeploy (мы широко используем этот агент), но вы можете попробовать включить отслеживание неудачных запросов в IIS, чтобы определить, в чем проблема. Его легко включить, и он дает гораздо больше информации о запросе и о том, почему он вернул 404, чем то, что вам скажут журналы IIS.
Ваше подозрение о том, что обработчик не установлен / настроен правильно, кажется правильным, и трассировка неудавшегося запроса покажет вам больше о том, что пошло не так с обработчиком.