Eu construí um aplicativo da web .net4.5 ASP.NET MVC4 que funciona bem localmente (servidor IIS Express e dev), mas quando eu implanto no meu servidor web, ele lança o erro 403. Eu instalei o .Net 4.5RC no servidor e até tentei o
aspnet_regiis -i
bit que todos recomendaram para seus problemas com as versões anteriores do MVC / .Net, mas não ajudou.
Alguma ideia?
EDITAR : Mais informações sobre a situação. O servidor é de 32 bits e eu tenho 4 outros aplicativos MVC3 que funcionam bem. É apenas meu aplicativo MVC4 que não está funcionando.
.net
asp.net-mvc
asp.net-mvc-4
iis
http-status-code-403
mithun_daa
fonte
fonte
Respostas:
Experimentar
Através da
/server/405395/unable-to-get-anything-except-403-from-a-net-4-5-website
fonte
O erro 403.14 é o código de erro HTTP por não ter permissão para listar o conteúdo de um diretório. Certifique-se de que
Normalmente, a e d são os maiores problemas em torno das implantações MVC para IIS
fonte
Talvez ... Se acontecer de você usar o Assistente de Publicação (como eu fiz) e selecionar a caixa de seleção "Pré-compilar durante a publicação" (como eu fiz) e ver os mesmos sintomas ...
Sim, eu me bati na cabeça, mas depois de desmarcar esta caixa, uma configuração aparentemente não relacionada, todos os sintomas descritos desaparecem após a redistribuição.
Esperançosamente, isso corrige algumas pessoas.
fonte
Windows-> Iniciar -> Ativar e desativar recursos de viúvas
Certifique-se de verificar as opções necessárias em
fonte
Antes de aplicar
considere o link abaixo que sugere uma alternativa menos drástica. Na postagem, o autor oferece a seguinte alteração ao web.config local:
http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html
fonte
Existe um Refactor -> Renomear Bug no Visual Studio 2012 que renomeou incorretamente o "id" dentro do valor da string literal do parâmetro url em meu RouteConfig.cs. Isso causou um 403.14 em uma configuração nova e correta no Windows Server 2012 e no Windows Server 2008 R2.
foi alterado para
fonte
null
oname
parâmetro para evitar inventar um nome para cada rota. Acontece que isso também causa um 403 às vezes (somente em nosso ambiente de produção, Win Server 2008 R2 executando .NET 4.5.1, MVC 5 em um projeto VS2013. Para resolver, adicionei um nome para cada rota.Você também pode obter um 403 se, ao testar com o servidor de desenvolvimento, estiver usando pipeline integrado e, em seguida, instalar como modo de pipeline clássico em seu servidor web IIS 7.5 ativo, também estava faltando minha pasta app_data, que também era necessária
fonte
Se você estiver executando o IIS 8.5 no Windows 8 ou Server 2012, poderá descobrir que executar o mvc 4/5 (.net 4.5) não funciona em um diretório virtual. Se você criar uma entrada de host local no arquivo de host para apontar de volta para sua máquina local e, em seguida, apontar um novo site IIS local para essa pasta (com a entrada de cabeçalho de host correspondente), você verá que funciona.
fonte
Você pode usar o código acima
fonte
Eu tinha definido o pool de aplicativos do novo aplicativo para o
DefaultAppPool
IIS, que obviamente está usando oClassic
pipeline com.NET v.2.0
.Para resolver o problema, criei um novo App Pool usando o
Integrated
pipeline e.NET v4.0
. apenas para este novo aplicativo e então tudo começou a funcionar conforme o esperado.Não se esqueça de atribuir esse novo pool de aplicativos ao aplicativo. Selecione o aplicativo no IIS, clique em
Basic Settings
e escolha o novo pool de aplicativos para o aplicativo.fonte
o que vejo com mais frequência recentemente é o IIS e permitindo a execução de aplicativos de 32 bits
É isso que você tentou. caso contrário, precisamos de mais informações sobre a produção e as versões do servidor de desenvolvimento
fonte
Eu tenho um problema um pouco diferente, no servidor 2012 de alguma forma esqueci de habilitar o asp.net 4.5, então se você tiver esse problema, verifique se você o habilitou.
fonte
Estou executando o Windows Server 2012 R2 no Azure e ASP.NET 4.5, IIS 8
Resolvi esse problema desinstalando todos os itens ASP.NET em Programas e Recursos e, em seguida, reinstalando o ASP.NET assim com o Gerenciador de Servidores usando Adicionar Funções e Recursos: escolha a instalação baseada em funções ou recursos, selecionei meu servidor e, em seguida, em Selecionar função do servidor, escolha Servidor Web (IIS) / Servidor Web / Desenvolvimento de aplicativos, clique em ASP.NET 4.5, confirme a instalação de um pré-requisito e reinstale o ASP.NET 4.5.
Minhas pesquisas anteriores me levaram a acreditar que o problema realmente se origina de um problema de registro com ASP.NET. Com versões anteriores do ASP.NET, há na verdade um utilitário que você pode executar para registrar o ASP.NET sem reinstalar, mas que parece não estar mais disponível.
fonte
Resolvi o problema abrindo o visual studio, expandindo as referências e alterando a propriedade "Copy Local" para "True".
Eu descobri isso comparando as dlls da versão antiga com as dlls da minha nova versão (que não estava funcionando)
fonte
No meu caso, a página padrão do meu aplicativo era index.html, que estava faltando nas opções de documento padrão. Adicioná-lo corrigiu o erro 403.14 Proibido.
fonte
No meu caso, o problema foi causado por ActionFilterAttribute personalizado, que era uma espécie de atributo de filtro global. O atributo instanciou um serviço por meio do Autofac, mas o serviço travou no construtor:
fonte
No meu caso, nem os recursos do Windows nem
aspnet_regiis -i
não funcionaram. Depois de horas pesquisando na Internet, criei minha própria solução:No Gerenciador do IIS em Módulos, alterei herdar para local no nó UrlRoutingModule-4.0:
Em web.config, colei uma combinação de algumas dicas deste fórum:
Espero que ajude
fonte