Eu encontrei um erro ao implantar um site em um servidor. Ao tentar carregar a página inicial ou acessar a autenticação no novo site no IIS, recebo o erro:
Erro de configuração: Esta seção de configuração não pode ser usada neste caminho. Isso acontece quando a seção está bloqueada no nível pai. O bloqueio é por padrão (overrideModeDefault = "Negar") ou configurado explicitamente por uma tag de local com overrideMode = "Negar" ou pelo legado allowOverride = "false".
Mais detalhes podem ser encontrados aqui, no cenário 7 corresponde ao meu código de erro hexadecimal.
A solução fornecida no site vinculado acima é definir Allow for overrideModeDefault na seção mencionada no meu erro, no arquivo applicationHost.config . No meu caso, em Segurança em system.webServer . Mas se eu olhar para o applicationHost.config no meu computador local, onde o site já está implantado corretamente, essa seção será definida como Negar .
Se esta solução estiver correta, como minha instância local está funcionando perfeitamente com o mesmo web.config ? De acordo com meu applicationHost.config , essa seção deve estar bloqueada, mas não está. Prefiro não alterar o arquivo applicationHost.config , porque existem muitos outros sites em execução nesse servidor. Existe outra solução?
Respostas:
Eu tive o mesmo problema. Não lembro onde o encontrei na web, mas aqui está o que eu fiz:
Aliás, eu estou usando o Windows 7.
fonte
Você também pode usar o Gerenciador do IIS para editar essas configurações.
Cuidado com este artigo do Learn IIS :
Usando a delegação de recursos da raiz do IIS:
Você pode controlar cada uma das permissões de leitura / gravação no nível da máquina, que, de outra forma, fornecerão os erros overrideMode = "Negar" .
fonte
Para Windows Server 2012 e IIS 8 , o procedimento é semelhante.
O
Web Server (IIS)
eApplication Server
deve estar instalado e você também deve ter o opcionalWeb Server (IIS) Support
emApplication Server
.fonte
Navegue até “C: \ Windows \ System32 \ inetsrv \ config” (você precisará de direitos de administrador aqui) Abra applicationHost.config
Nota : No IISExpress e no Visual Studio 2015, o applicationHost.config é armazenado em
$(solutionDir).vs\config\applicationhost.config
Encontre a seção que apareceu na parte “fonte de configuração” da página de mensagem de erro. Para mim, isso geralmente tem sido "módulos" ou "manipuladores"
Mude o
overrideModeDefault
atributo para serAllow
Portanto, a linha inteira agora se parece com:
Depois de salvar o arquivo, a página foi carregada corretamente no meu navegador.
Aviso: Editando applicationHost.config no Windows de 64 bits
fonte
Você precisa desbloquear manipuladores. Isso pode ser feito usando o seguinte comando cmd:
Talvez outra informação para as pessoas que estão recebendo esse erro no IIS 8, no meu caso, estivesse na plataforma Microsoft Server 2012. Passei algumas horas lutando com outros erros que surgiram após a execução do appcmd. No final, pude corrigi-lo removendo a Função de servidor da Web e instalando-a novamente.
fonte
/section:access /sslFlags:SslNegotiateCert
e descobri que eu tive que usar o acima com-section:access
que relatou comoUnlocked section "system.webServer/security/access"...
1. Abra " Ativar ou desativar recursos do Windows " por: WinKey + R => "optionalfeatures" => OK
Testado no Win 10 - Mas provavelmente também funcionará em outras versões do Windows.
fonte
Eu executei esses dois comandos em um prompt de comando elevado:
fonte
Conforme minha resposta a esse problema semelhante ;
Tente desbloquear as configurações relevantes do IIS no nível do servidor, da seguinte maneira:
fonte
No Windows Server 2012 com IIS 8 , resolvi isso ativando o recurso ASP.NET 4.5 :
e depois seguindo a resposta de ken .
fonte
A melhor opção é Alterar
Application Settings
na seleçãoCustom Site Delegation
Abrir
IIS
e na raizFeature Delegation
e, em seguida, selecionarApplication Settings
e, na barra lateral direita, selecionarRead/Write
fonte
Isso funcionou para mim, para o IIS 8 Windows server 2012 R2
Vá para "Ativar recursos"
Em seguida, vá para todas as configurações padrão, Avançar, Avançar, Avançar etc.
Em seguida, selecione como mostrado abaixo,
Em seguida, redefina o IIS (opcional), mas faça o lado mais seguro.
Esta é uma solução adicional, pois é um problema genérico que todos têm diferentes problemas e, portanto, uma solução diferente. Felicidades!
fonte
Para corrigir isso, abra o IIS Express applicationhost.config. Este arquivo é armazenado em C: \ Users [seu nome de usuário] \ Documents \ IISExpress \ config \ applicationhost.config
A atualização para o VS2015 +: o local do arquivo de configuração é $ (solutionDir) .vs \ config \ applicationhost.config
Procure as seguintes linhas
Mude essas linhas para
Salve e atualize a página Asp.net.
fonte
No nosso caso, no IIS 8, descobrimos que o erro foi produzido ao tentar exibir a autenticação "de um site, quando:
Marcando o site Delegação de Recursos "Autenticação - Windows" = "Leitura / Gravação", o erro desapareceu. Parece que, com o recurso marcado como "Somente leitura", o web.config não tem permissão para fazer referência a ele, nem mesmo para desativá-lo, pois isso aparentemente constitui uma gravação.
fonte
Parece que, com o IIS Express e o VS 2015, há uma cópia do arquivo applicationHost.config em $ (solutionDir) .vs \ config \ applicationhost.config, portanto, você precisará fazer alterações lá. Veja este link: http://digitaldrummerj.me/iis-express-windows-authentication/
Verifique se essas linhas foram alteradas conforme abaixo:
fonte
No meu caso, foi no servidor que não foi ativada "Ativação HTTP" nos Recursos do .NET Framework. Portanto, para o Windows Server 2012, a solução que funcionou para mim foi:
Gerenciador de servidores -> Adicionar funções e recursos -> Recursos -> verifique se, no .NET Framework da versão que você deseja usar, está marcada "Ativação HTTP"
fonte
A maneira do Powershell de ativar os recursos (Windows Server 2012 +) - apare conforme necessário:
fonte
Eu precisava alterar as configurações de SSL em uma subpasta quando recebi essa boa mensagem. No meu caso, seguir a ação me ajudou.
C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config aberto
E alterou o valor de overrideModeDefault = "Negar" para "Permitir"
fonte
O erro diz que a seção de configuração está bloqueada no nível pai. Portanto, não haverá diretamente 1 arquivo de configuração que resolverá o problema. Precisamos passar pela hierarquia dos arquivos de configuração para ver a herança. Verifique o link abaixo para passar pela hierarquia e herança de arquivos no IIS
https://msdn.microsoft.com/en-us/library/ms178685.aspx
Então, você precisa verificar as definições de configuração do aplicativo na ordem abaixo
Vá com cuidado por todas essas configurações na ordem de 1 a 6 e você deve encontrá-lo.
fonte
No meu caso, recebi esse erro porque estava operando no arquivo de configuração errado.
Eu estava fazendo isso:
em vez do código correto:
em outras palavras, eu estava tentando operar no web.config do site, em vez do arquivo global C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config, que possui uma seção (ou pode ter uma seção) para o site. A configuração que eu estava tentando alterar existe apenas no arquivo applicationHost.config.
fonte
No meu caso, era outra coisa.
Quando carreguei a solução em uma nova versão do Visual Studio, o VS aparentemente criou um novo arquivo applicationhost.config específico do projeto:
MySolutionDir \ .vs \ config \ applicationhost.config
Começou a usar as configurações da nova configuração, em vez das minhas configurações globais já personalizadas do IIS Express. (\ Users \% USER% \ Documents \ IISExpress \ config \ applicationhost.config)
No meu caso, essa era a configuração que precisava ser definida. Claro que poderia ser outra coisa para você:
fonte
Percebi uma resposta semelhante, mas, no meu caso, usei o Editor configurado do IIS para encontrar a seção que queria "desbloquear".
Em seguida, copiei o caminho e o usei na minha automação para desbloqueá-lo antes de alterar as seções que desejava editar.
fonte
Recebeu o mesmo problema após instalar o IIS 7 no Vista Home Premium. Para corrigir o erro, alterei os seguintes valores, localizados no arquivo applicationHost.config, localizado em Windows \ system32 \ inetsrv.
Altere todos os seguintes valores localizados na seção ->
fonte
Você pode tentar isso:
Vá para o caminho do aplicativo em que você está recebendo erro de negação, clique com o botão direito
Propriedades-> guia Segurança
Altere as permissões e marque a caixa de seleção ler e escrever. Então ele funcionará sem nenhum erro, esperançosamente.
fonte
Para Windows Server 2008 e IIS 7, o procedimento é semelhante. consulte o seguinte: http://msdn.microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx
em adicionar serviço de função, você verá "Recursos de desenvolvimento de aplicativos"
Marque (ative) os recursos. Eu verifiquei tudo.
fonte
Eu tive um problema em que estava colocando os valores de substituição = "Permitir" (já mencionados aqui) ...... mas em um sistema de x64 bits ....... meu 32 bloco de notas ++ era fantasma salvando-os. Mudar para o Bloco de notas (que é um aplicativo de 64 bits em um sistema operacional x64 bits) me permitiu salvar as configurações.
Vejo :
http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/
O texto relevante:
Um dos problemas que estou acabando exige que eu visualize e possivelmente edite applicationHost.config. Este arquivo está localizado em% SystemRoot% \ System32 \ inetsrv \ config. Parece bastante simples. Consegui encontrá-lo facilmente na linha de comando, mas quando fui carregá-lo no meu editor favorito (Notepad ++), obtive um erro de arquivo não encontrado. Acontece que a pasta System32 é redirecionada para aplicativos de 32 bits para o SysWOW64. Parece não haver maneira de exibir a pasta System32 usando um aplicativo de 32 bits. Vai saber. Felizmente, as versões de 64 bits do Windows são fornecidas com uma versão de 64 bits do Bloco de Notas. Por mais que eu não goste, pelo menos funciona.
fonte
No meu caso, estava recebendo esse erro ao tentar atualizar as configurações de autenticação no IIS, além de navegar. Consegui remover esse erro removendo a configuração de autenticação do próprio web.config. A remoção de uma seção de configuração problemática pode ser menos invasiva e preferível em alguns casos do que alterar demais as funções e os recursos do servidor:
Seção removida:
fonte
Eu tive o mesmo problema.
fonte
Isso funcionou para mim Também no IIS 8, você pode resolver esse problema alterando o servidor para o IIS Express. Ir para depuração-> Propriedades Na Web, selecione o servidor como IIS Express na lista suspensa e, em seguida, reconstrua a solução
fonte
Para fazer uma alteração no nível do aplicativo (Web.Config):
Remova o nível de confiança do web.config:
Na verdade, eu estava recebendo esse erro quando tentava hospedar meu site no servidor de hospedagem, onde não tenho controle no servidor. A remoção da linha acima do meu aplicativo web.config resolveu meu problema.
fonte
O seguinte funcionou para mim:
Vá para as propriedades do projeto. Guia da Web. Defina como IIS local e defina uma página específica.
Eu tenho o Windows 7 e o Visual Studio 2013.
fonte