MsDeploy está retornando 403 proibido

96

Tínhamos um aplicativo da Web funcionando em uma intranet e estou tentando publicá-lo na Internet usando o Visual Studio 2010. O servidor de destino está executando iis7 e o serviço de gerenciamento da Web está em execução.

No Visual Studio 2010, meu URL de serviço é:

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

E o site / aplicativo é:

Site / App da Web padrão

Marcar como aplicativo IIS no destino e Permitir certificado não confiável está marcado e estou usando uma conta de administração.

O Visual Studio retorna o seguinte erro:

Inicie o Web Deploy Publique o aplicativo / pacote em https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default%20Web%20Site ... C: \ Arquivos de programas \ MSBuild \ Microsoft \ VisualStudio \ v10 .0 \ Web \ Microsoft.Web.Publishing.targets (3588,5): Erro: Falha na tarefa de implantação da Web. (Agente remoto (URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site= Site padrão ) não pôde ser contatado. Certifique-se de que o serviço do agente remoto esteja instalado e iniciado no computador de destino.)

O agente remoto (URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default Web Site) não pôde ser contatado. Certifique-se de que o serviço do agente remoto esteja instalado e iniciado no computador de destino. Uma resposta incompatível foi recebida. O cabeçalho de resposta 'MSDeploy.Response' era '', mas era esperado 'v1'. O servidor remoto retornou um erro: (403) Proibido.

Alguma ideia de como publicá-lo sem um certificado SSL válido?

dcarneiro
fonte

Respostas:

237

Se você entrar no IIS,
clique no nó do servidor na lista "Conexões",
clique duas vezes em "Serviço de gerenciamento" e então você será levado a uma tela que tem uma caixa de seleção "Habilitar conexões remotas".
Esta caixa de seleção (e o resto da tela) pode ficar esmaecida porque o serviço está em execução. Basta clicar no link "Parar" no painel Ações, marcar a caixa "Habilitar conexões remotas" e todas as outras configurações que deseja alterar aqui, e clicar em 'Aplicar' e 'Iniciar' no painel Ações novamente.

Isso deve permitir que você se conecte, com as credenciais adequadas, ao serviço de uma máquina remota. (Se as portas corretas e outras coisas forem abertas e todo aquele jazz.)

Acho que isso ajuda a sua situação. Pelo menos você não obterá 403 '

picador de gelo
fonte
4
Eu tive o mesmo problema. Acredito que minha configuração foi corrompida devido a uma reinicialização forçada durante uma alteração de configuração. Eu fiz essas etapas, mas não mudei nada. (Autenticação alterada apenas para Windows, Aplicar e, em seguida, de volta para Windows + ISS Mgr). Isso resolveu para mim.
Kasey Speakman
87
O próximo erro será Não encontrado . Para corrigir, vá em Adicionar e remover programas, encontre seu Web Deploy, clique em Alterar e instale todos os recursos.
Cihan Yakar
2
Eu tive o mesmo erro no Window Server 2012 R2 e Web Deploy 3.6. O problema era que o webdeploy não estava completamente instalado a princípio, ele pediu para reiniciar a máquina. Então, quando reiniciei o servidor e iniciei o WPI novamente, a instalação continuou e tudo funcionou. Mas depois de reiniciar o WPI não inicia, então tive que iniciá-lo manualmente. Espero que isso ajude alguns que procuram problemas semelhantes.
vendettamit de
4
Outras resoluções incluem desinstalar o Web Deploy 3.6 e instalar 3.5. Funcionou para mim: stackoverflow.com/questions/32004797/…
Derrick
4
O que me fez rir é que depois de passar cerca de uma hora acompanhando todos os artigos de instalação do MS doc Web Deploy e de solução de problemas do Web Deploy palavra por palavra, nenhum deles mencionou aquela simples caixa de seleção "Habilitar conexões remotas" e você AINDA tem que fazer essa correção Adicionar e remover programas . smh. Falhou.
frezq
7

O Web Deploy pode gerar uma série de erros se não for configurado corretamente. Faça um favor a si mesmo e use o Web Platform Installer ( https://www.microsoft.com/web/downloads/platform.aspx ). Você deve desinstalar o WebDeploy primeiro, se já tentou instalá-lo. No WebPI, selecione: "Web Deploy 3.6 for Hosting Servers".

Lee Gunn
fonte
5
Tive os mesmos problemas 6 meses depois. Apenas leia minha própria resposta e instale o "Web Deploy 3.6 for Hosting Servers". Tudo funciona à primeira vez :)
Lee Gunn
Isso funcionou para mim, eu tinha instalado o "Web Deploy 3.6" do Web Platform Installer , a chave era desinstalá-lo e instalar o "Web Deploy 3.6 for Hosting Servers". Funcionou imediatamente, obrigado!
orangotango,
2

Eu tive o mesmo problema. Fale sobre pular obstáculos ... A solução requer configuração de usuário e permissões de implantação, etc.

  1. depois de obter o erro 'NÃO ENCONTRADO', conforme previsto por Cihan Yakar acima, tive que alterar o webdeploy (para mim, foi necessário pesquisar novamente por 'WebDeploy_x64_en-US.msi') habilitando todas as opções.
  2. obteve um novo erro, sempre bom, ERROR_USER_NOT_AUTHORIZED_FOR_CONTENTPATH. para isso, olhei os erros de implantação da web (veja o link abaixo).

Diagnóstico - Um usuário não administrativo tentou executar uma operação com um provedor Web Deploy para o qual o usuário não está autorizado no momento. Resolução - a configuração do Web Deploy 2.0, por padrão, cria regras de delegação de serviços de gerenciamento que permitem que não administradores executem operações com este provedor. É possível que uma regra de delegação necessária para este provedor não tenha sido configurada corretamente. Solução alternativa: no Painel de controle de programas, execute Reparar no Web Deploy 2.0. Como alternativa, crie a regra de delegação manualmente.

Acontece que tive que criá-lo manualmente em 'Configurar o manipulador de implantação da Web' (veja o link abaixo), usando este guia para 'Configurar WMSVC e permissões do gerenciador IIS' e 'Criar regras de delegação para usuários de implantação da Web' para resolver o problema.

notas: Diagnosticado usando 'códigos de erro de implantação da web' em: http://www.iis.net/learn/publish/trou troubleshooting-web-deploy/web-deploy-error-codes e, eventualmente, configurado usando processos de 'Configure the Web Deployment Handler ': http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler

skrunkle
fonte
3
Toda a sequência de problemas resolvidos em um post, isso ajudou. Também há outra solução, eu desinstalei o web deploy e instalei novamente junto com o IIS: configuração recomendada do Web Platform Installer.
hakuna
0

No meu caso, após a caixa de seleção Habilitar conexões remotas, preciso reinstalar o Web Deploy para que funcione.

Hoang Tran
fonte