Web Deploy на Azure перестал работать даже с загруженным профилем publi sh - PullRequest
1 голос
/ 13 марта 2020

Мой Web Deploy Publi sh из Visual Studio 2017 для моего Azure веб-приложения вчера был привередливым, а сегодня просто перестал работать полностью.

Вчера ошибка в средстве просмотра событий была

Error Code:  6  Exception Message:  Could not connect to the remote computer ("MYDOMAIN.scm.azurewebsites.net") using the specified process ("Web Management Service") because the server did not respond. Make sure that the process ("Web Management Service") is started on the remote computer.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC.  Exception Stack Trace: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()
   at Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponseHelper(HttpWebRequest request)
   --- End of inner exception stack trace ---   
Could not connect to the remote computer ("MYDOMAIN.scm.azurewebsites.net") using the specified process ("Web Management Service") because the server did not respond. Make sure that the process ("Web Management Service") is started on the remote computer.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC.
   at Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponseHelper(HttpWebRequest request)
   at Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse(HttpWebRequest request)
   at Microsoft.Web.Deployment.AgentClientProvider.PerformHeadRequestHelper(Boolean getVersionInfo, Version& maximumSupportedVersion, Version& minimumSupportedVersion)
   at Microsoft.Web.Deployment.AgentClientProvider..ctor(DeploymentProviderContext providerContext, DeploymentBaseContext baseContext, String serverVersion)
   at Microsoft.Web.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext, DeploymentBaseOptions baseOptions, DeploymentObject sourceObject, String serverVersion)
   at Microsoft.Web.Deployment.DeploymentManager.CreateDestinationObject(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentObject sourceObject, String serverVersion)
   at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions) 

Сегодня ошибка:

Error Code:  103  Exception Message:  Web Deploy experienced a connection problem with the server and had to terminate the connection.  Contact your server administrator if the problem persists.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CONNECTION_TERMINATED.  Exception Stack Trace: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlTextReader.Read()
   at System.Xml.XmlReader.MoveToContent()
   at Microsoft.Web.Deployment.TraceEventSerializer.Deserialize(Stream responseStream, DeploymentBaseContext baseContext, DeploymentSyncContext syncContext)
   --- End of inner exception stack trace ---   
Web Deploy experienced a connection problem with the server and had to terminate the connection.  Contact your server administrator if the problem persists.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CONNECTION_TERMINATED.
   at Microsoft.Web.Deployment.TraceEventSerializer.Deserialize(Stream responseStream, DeploymentBaseContext baseContext, DeploymentSyncContext syncContext)
   at Microsoft.Web.Deployment.AgentClientProvider.RemoteDestSync(DeploymentObject sourceObject, DeploymentSyncContext syncContext, Nullable`1 syncPass, String syncSessionId)
   at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable`1 syncPassId, String syncSessionId)
   at Microsoft.Web.Deployment.DeploymentObject.SyncTo(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions, DeploymentSyncOptions syncOptions) 

После просмотра многих неубедительных сообщений по этому вопросу (и поскольку эта ошибка ERROR_CONNECTION_TERMINATED не указана на официальном веб-сайте устранения неполадок, который они предоставляют в сообщении об ошибке), Я сделал следующее: (1) перезагрузите компьютер (2) перезапустите Visual Studio (3) откройте Visual Studio от имени администратора (4) заново загрузите профиль Publi sh из Azure

Ничего из этого не помогло.

В окне профиля publi sh, когда я нажимаю «Проверить» для моих учетных данных, они проходят. Только при предварительном просмотре или запуске publi sh выдается ошибка.

В конечном итоге сработало

(5) Установите для параметра приложения значение false в Azure WEBSITE_WEBDEPLOY_USE_SCM

Я посмотрел его и не уверен, что он сделал, и почему я должен был это сделать, и почему он работал нормально раньше без этой настройки. Это похоже на хак, и мне это не нравится. Должен ли я сохранить этот параметр приложения?

ОБНОВЛЕНИЕ: Не уверен, что настройка SCM помогла. Я был в состоянии опубликовать sh один раз, и нет, не могу снова.

1 Ответ

0 голосов
/ 13 марта 2020

Во-первых, закройте брандмауэр и локальное программное обеспечение на основе прокси.

Во-вторых, убедитесь, что у вас установлен обработчик веб-развертывания и установлены все параметры.

enter image description here

(Добавить опцию не будет выбрано.)

Трижды, убедитесь, что у вас нет ограничений IP для службы управления.

Другие возможные причины Вы можете найти в этом официальном до c:

https://docs.microsoft.com/en-us/iis/publish/troubleshooting-web-deploy/troubleshooting-web-deploy-problems-with-visual-studio

...