iis - usar - Obtener un 404 de WMSvc a través de MSDeploy.exe
web deploy visual studio 2017 (10)
¿Has instalado Web Deploy en el servidor? Web Deploy registra un controlador (/msdeploy.axd) con WMSVC, por lo que un 404 sería el código de estado esperado si no estuviera instalado.
Desde Windows 8 hasta Windows Server 2012 (IIS 8) con Web Management Services instalados y en funcionamiento, puedo usar el Administrador de IIS en el cuadro W8 para administrar el servidor remoto, pero obtengo un 404.7 de WMSvc cuando ejecuto el siguiente comando:
msdeploy.exe" -verb:dump -source:contentPath=c:/InetPub/wwwroot,computerName=https://uktnws01:8172/MsDeploy.axd,userName=corp/administrator,password=WMSvcIsCrap,authType=Basic -allowUntrusted
He intentado todo tipo de combinaciones y parámetros. Puedo hacer telnet a ese puerto, sé que está abierto.
Solo estoy eliminando la característica de Servicio de administración de Windows y reiniciando. Me serviré un whisky escocés y haré algunos bocadillos. Mientras tanto, si tienes alguna idea, por favor comparte.
Únete a mi blog en vivo a continuación y sigue la acción.
Actualización 1
Con el Servicio de administración eliminado, ahora recibo
Error: No se pudo conectar con el servidor remoto. Error: No se pudo establecer ninguna conexión porque la máquina de destino la rechazó activamente. 192.168.2.22:8172 Número de errores: 1.
¡Donde la 2da línea es un nuevo mensaje! Woohoo.
Actualización 2
De acuerdo, entonces las cosas van de mal en peor ahora. Desde la reinstalación, la consola remota de IIS alertará sobre el certificado y luego dirá:
El servidor no acepta conexiones remotas.
Pero creo que esto se debe a que probablemente no haya vuelto a habilitar Remote Management, además de instalar lo maldito.
Actualización 3
Con Remote Management habilitado, el IIS remoto funciona nuevamente pero el 404 ha regresado. En interés del SEO, aquí está el error completo:
Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("uktnws01"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started. Learn more at http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Error: The remote server returned an error: (404) Not Found.
Error count: 1.
Actualización 4
Intenté el mismo comando contra otro servidor web a través de una VPN a un cliente y eso funciona de maravilla. Parece que IIS está fubarizado en mi absolutamente nueva versión de 2012.
Actualización 5
Permití el rastreo de solicitudes fallidas para WMSvc y he visto que el 404.7 proviene del módulo RequestFilteringModule. 404.7 es ''Extensión de archivo denegada'' de acuerdo con la documentación.
http://www.iis.net/configreference/system.webserver/security/requestfiltering
Sin embargo, agregar una regla de servidor explícito para archivos .axd no ayuda. Es interesante ver este módulo, ya que impone restricciones en la longitud de la URL y el tamaño del contenido. ¿Te imaginas solucionar este problema en una aplicación WCF alojada en IIS? Jaja. Estoy llorando realmente
Actualización 6
Estoy eliminando Filtrado de solicitudes, lo que significa eliminar ASP.NET y varias otras cosas también. Necesitan una opción Reinstalar Características y Dependencias de Windows Todo en Uno porque Escribimos Software No Fiable.
Actualización 7
Reinstalé todo y luego apareció un australiano llamado Richard de la nada y explica totalmente que Web Deploy no es en realidad parte de WMSvc como estándar, incluso en IIS 8, y que necesito instalar Web Deploy.
Así que hago. Luego deshabilito MsDepSvc, que es la otra parte que instala (que pensé que era la totalidad de Web Deploy) porque apesta en el puerto 80 y evita que los equilibradores de carga vean un servicio IIS caído.
Y funciona. Puedo irme a la cama
Además, es posible que deba otorgar acceso para el Servicio de administración web
También tuve el problema de que Visual Studio (2013) no pudo actualizar la aplicación en mi servidor (Windows 2012 R2 IIS 8.5). Agregué los componentes manualmente como se describió anteriormente, pero eso no resolvió el problema. Entonces encontré este artículo .
Básicamente dice que el Servicio de Administración Web está conectado como Servicio Local que no tiene derechos de acceso al directorio Inetpub. La concesión de permisos para el servicio local me solucionó el problema.
Cuando instalé Web Deploy a través del instalador de la plataforma web, no se seleccionó el controlador. Tuve que instalar manualmente Web Deploy 3.0, hacer clic en "cambiar" y luego seleccionar el controlador que se instalará.
Después de horas de búsqueda, ¡tu solución a continuación me funcionó!
Control Panel
> Programas y características
Haga clic con el botón derecho en Microsoft Web Deploy 3.5
Seleccione Cambiar> haga clic en siguiente> haga clic en cambiar
Observará que cuando se selecciona el Marco de implementación web verá en el mensaje
"It has 0 of 3 subfeatures selected"
Haga clic en menú desplegable y seleccione "Entire feature will be installed on local hard drive"
Siguiente> Cambiar> Finalizar
En caso de que alguien más tenga los mismos problemas que los que tengo, también recibí el mismo error 404. La forma más rápida que encontré para comprobar era ir al servidor y abrir "https: // <servername>: 8172 / MsDeploy.axd". Chrome y Firefox solo mostraron una página en blanco, así que tuve que usar la pestaña Red de las herramientas de desarrollador (F12) para ver el mensaje de error 404 real.
De alguna manera, al instalar Web Deploy 3.0 desde el instalador de la plataforma web, el controlador de implementación de IIS 7 no se instaló, a pesar de que sí lo hizo el módulo de interfaz de usuario del Administrador de IIS. En mi caso, descargué .msi de la Instalación de la Herramienta de Implementación Web desde el siguiente enlace: Instalación de la Herramienta de Implementación Web . Luego tuve que volver a la Herramienta de administración de IIS (Inicio -> Ejecutar -> inetmgr.exe)> {nombre del servidor}> hacer clic en el ícono del Servicio de administración y reiniciar el servicio de administración antes de que el manejador MsDeploy.axd comenzara a funcionar.
Habilitación de IIS Deployment Handler + Remote Agent Service
En el servidor de Windows 2012 R2, seguí el consejo de mga911.
Estaba atascado obteniendo implementaciones funcionando. Había instalado Web Deploy 3.5 -> Delegación de servicio de administración habilitada -> Servicios asegurados se iniciaron. El problema era que no se había instalado el controlador de implementación de IIS. Pasando por la PI PI 4.6 No tuve la oportunidad de instalar el controlador de implementación de IIS. Debe ingresar al panel de control -> Programas y características de la instalación de Change Web Deploy 3.5. Por favor, tenga en cuenta mis instrucciones. En el proceso de cambio, indica que se instalarán todos los subpaquetes, pero el mensaje de texto indica que se instalarán 0 de 3 subcomponentes. Uno de esos componentes es el controlador IIS. Lea atentamente porque no lo hice y me sentí frustrado :)
- Panel de control> Programas y características
- Haga clic con el botón derecho en Microsoft Web Deploy 3.5
- Seleccione Cambiar> haga clic en siguiente> haga clic en cambiar
- Observará que cuando se selecciona el Marco de implementación web, verá en el mensaje "Tiene 0 de 3 subfunciones seleccionadas"
- Haga clic en menú desplegable y seleccione "Se instalará toda la función en el disco duro local".
- Siguiente> Cambiar> Finalizar
En lugar de utilizar Web Platform Installer. Descargue WebDeploy.exe del sitio web e instálelo en el servidor con la opción de paquete completo.
Arreglará el problema.
En mi caso, al instalar el paquete web deploy 3.0 a través de la web pi, nunca recibí la opción Delegación del Servicio de Administración en IIS / home. Sin embargo, la reinstalación rectificó el problema, resolviendo así el error Resuelto mi 404.7.
Esto fue en Microsoft Server 2012 y IIS8
Editar: Recientemente probé lo mismo en Windows 8 y me gustaría señalar que el sitio web de Microsoft dice:
No puede configurar la publicación remota utilizando Web Deploy para un sitio alojado en IIS en Windows 8.0 o 8.1. El motivo es que las SKU del cliente para Windows no vienen con el Servicio de administración web que se requiere para las conexiones remotas. Como resultado, en Windows 8.0 o 8.1, el icono Permisos del Administrador de IIS y la opción de implementación Configurar publicación de distribución web que se requieren para configurar la publicación remota no están disponibles en el Administrador de IIS. http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00
(Sí, me doy cuenta de que el objetivo es Server 2012 en la pregunta, pero esto podría evitar que mucha gente tenga el mismo dolor de cabeza que yo, ya que funcionó bien en mi antigua máquina de desarrollo, quería que la gente lo supiera).
Se usa solo la autenticación de Windows. Implementación web 3.5. Y solo el certificado WMSVC que se configura en el ícono del Servicio de administración del ícono del servidor de nivel superior.
Un punto importante es que primero debe activar el servicio de administración y luego instalar Web Deploy.
Lo hice al revés y no funcionó.
Solo al reinstalar la implementación web comenzó a funcionar.