MsDeploy devuelve 403 prohibido

96

Teníamos una aplicación web trabajando en una intranet y estoy tratando de publicarla en Internet usando Visual Studio 2010. El servidor de destino está ejecutando iis7 y el servicio de administración web está funcionando.

En Visual Studio 2010, la URL de mi servicio es:

https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd

Y el sitio / aplicación es:

Sitio web / aplicación web predeterminada

Marcar como aplicación IIS en el destino y Permitir certificado que no es de confianza está marcado y estoy usando una cuenta de administración.

Visual Studio devuelve el siguiente error:

Inicie Web Deploy Publique la aplicación / paquete en https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default%20Web%20Site ... C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10 .0 \ Web \ Microsoft.Web.Publishing.targets (3588,5): Error: Error en la tarea de implementación web. (Agente remoto (URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site= Sitio web predeterminado ) no se pudo establecer contacto. Asegúrese de que el servicio de agente remoto esté instalado e iniciado en el equipo de destino).

No se pudo contactar al agente remoto (URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default Web Site). Asegúrese de que el servicio de agente remoto esté instalado e iniciado en el equipo de destino. Se recibió una respuesta no admitida. El encabezado de respuesta 'MSDeploy.Response' era '' pero se esperaba 'v1'. El servidor remoto devolvió un error: (403) Prohibido.

¿Alguna idea de cómo publicarlo sin un certificado SSL válido?

dcarneiro
fuente

Respuestas:

237

Si ingresa a IIS,
haga clic en el nodo del servidor en la lista "Conexiones",
haga doble clic en "Servicio de administración" y luego lo llevará a una pantalla que tiene una casilla de verificación "Habilitar conexiones remotas".
Esta casilla de verificación (y el resto de la pantalla) puede estar atenuada porque el servicio se está ejecutando. Simplemente haga clic en el enlace "Detener" en el panel Acciones, luego marque la casilla "Habilitar conexiones remotas" y cualquier otra configuración que desee cambiar aquí, luego haga clic en 'Aplicar' y 'Iniciar' en el panel Acciones nuevamente.

Con suerte, eso debería permitirle conectarse, con las credenciales adecuadas, al servicio desde una máquina remota. (Si se abren los puertos correctos y todo eso y todo ese jazz.)

Creo que esto ayuda a su situación. Al menos no obtendrás 403 '

recolector de hielo
fuente
4
Yo tuve el mismo problema. Creo que mi configuración estaba dañada debido a un reinicio completo durante un cambio de configuración. Seguí estos pasos, pero no cambié nada. (Se cambió la autenticación solo a Windows, Aplicar y luego de nuevo a Windows + ISS Mgr). Eso me lo arregló.
Kasey Speakman
87
El siguiente error será No encontrado . Para solucionarlo, vaya a Agregar y quitar programas, busque su Web Deploy, haga clic en Cambiar y luego instale todas las funciones.
Cihan Yakar
2
Tuve el mismo error en Window Server 2012 R2 y Web Deploy 3.6. El problema fue que webdeploy no se instaló por completo al principio y pidió reiniciar la máquina. Entonces, cuando reinicié el servidor y lancé WPI nuevamente, la instalación continuó y todo funcionó. Pero después de reiniciar, el WPI no se inicia, así que tuve que iniciarlo manualmente. Espero que esto ayude a algunos que buscan problemas similares.
vendettamit
4
Otras resoluciones incluyen desinstalar Web Deploy 3.6 e instalar 3.5. Funcionó para mí: stackoverflow.com/questions/32004797/…
Derrick
4
Lo que me hizo reír es que después de pasar una hora más o menos siguiendo todos los artículos de instalación de MS doc Web Deploy y los artículos de solución de problemas de Web Deploy palabra por palabra, ninguno de ellos mencionó esa simple casilla de verificación "Habilitar conexiones remotas" y TODAVÍA tiene que hacer eso Agregar y quitar programas arreglar. smh. Fallar.
frezq
7

Web Deploy puede generar una gran cantidad de errores si no se configura correctamente. Hágase un favor y utilice el instalador de plataforma web ( https://www.microsoft.com/web/downloads/platform.aspx ). Primero debe desinstalar WebDeploy si ya ha intentado instalarlo. Desde WebPI, seleccione: "Web Deploy 3.6 para servidores de alojamiento".

Lee Gunn
fuente
5
Tuve los mismos problemas 6 meses después. Simplemente lea mi propia respuesta e instalé "Web Deploy 3.6 para servidores de alojamiento". Todo funciona a la primera :)
Lee Gunn
Esto funcionó para mí, había instalado "Web Deploy 3.6" desde Web Platform Installer , la clave era desinstalarlo e instalar "Web Deploy 3.6 para servidores de alojamiento" en su lugar. Funcionó de inmediato, ¡gracias!
orangecaterpillar
2

Yo tuve el mismo problema. Hable sobre saltar a través del aro ... La solución requiere la configuración de permisos de implementación y de usuario, etc.

  1. después de recibir el error 'NO ENCONTRADO' como lo predijo Cihan Yakar anteriormente, tuve que cambiar webdeploy (para mí requirió volver a descargar la búsqueda de 'WebDeploy_x64_en-US.msi') habilitando todas las opciones.
  2. obtuvo un nuevo error, siempre bueno, ERROR_USER_NOT_AUTHORIZED_FOR_CONTENTPATH. para esto, miré los errores de implementación web (consulte el enlace a continuación).

Diagnóstico: un usuario no administrativo intentó realizar una operación con un proveedor de Web Deploy para la que el usuario no está autorizado actualmente. Resolución: la configuración de Web Deploy 2.0, de forma predeterminada, crea reglas de delegación de servicios de administración que permiten a los no administradores realizar operaciones con este proveedor. Es posible que una regla de delegación requerida para este proveedor no se haya configurado correctamente. Solución alternativa: desde el Panel de control de programas, ejecute Reparar en Web Deploy 2.0. Alternativamente, cree la regla de delegación manualmente.

Resulta que tuve que crearlo manualmente desde 'Configurar el controlador de implementación web' (ver el enlace a continuación), usando esta guía para 'Configurar permisos de administrador WMSVC e IIS' y 'Crear reglas de delegación para usuarios de implementación web' solucionó el problema.

notas: Diagnosticado usando 'códigos de error de implementación web' de: http://www.iis.net/learn/publish/troubleshooting-web-deploy/web-deploy-error-codes y eventualmente configurado usando procesos de 'Configurar la implementación web Controlador ': http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler

skrunkle
fuente
3
Toda la secuencia de problemas resueltos en una publicación, esto ayudó. También hay otra solución, he desinstalado la implementación web y la he vuelto a instalar junto con IIS: configuración recomendada de Web Platform Installer.
hakuna
0

En mi caso, después de la casilla de verificación Habilitar conexiones remotas, necesito reinstalar Web Deploy para que funcione.

Hoang Tran
fuente