iis - trabalho - overridemodedefault deny web config




Erro de configuração: esta seção de configuração não pode ser usada neste caminho (20)

Eu encontrei um erro ao implantar um site em um servidor. Ao tentar carregar a home page 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 em um nível pai. O bloqueio é por padrão (overrideModeDefault = "Deny") ou definido explicitamente por uma tag de localização com overrideMode = "Deny" ou o 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 é para definir Allow para overrideModeDefault na seção mencionada no meu erro, no arquivo applicationHost.config . No meu caso, em Segurança no 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 funciona a minha instância local com o mesmo web.config ? De acordo com meu applicationHost.config , essa seção deve ser bloqueada, mas não é. Eu prefiro não alterar o arquivo applicationHost.config , porque há muitos outros sites em execução nesse servidor. Existe outra solução?


A maneira do Powershell de ativar os recursos (Windows Server 2012 +) - aparar conforme necessário:

Install-WindowsFeature NET-Framework-Core
Install-WindowsFeature Web-Server -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-45-ASPNET -IncludeAllSubFeature
Install-WindowsFeature Application-Server -IncludeAllSubFeature
Install-WindowsFeature MSMQ -IncludeAllSubFeature
Install-WindowsFeature WAS -IncludeAllSubFeature

A melhor opção é alterar as Application Settings do Application Settings da Custom Site Delegation
Abra o IIS e, na raiz, selecione Feature Delegation , selecione Application Settings e, na barra lateral direita, selecione Read/Write


Eu precisava alterar as configurações de SSL em uma subpasta quando recebi essa mensagem legal. No meu caso, a ação seguinte me ajudou.

Aberto C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config

E alterou o valor de overrideModeDefault = "Deny" para "Permitir"

<sectionGroup name="system.webServer">
 ...
    <sectionGroup name="security">
        <section name="access" overrideModeDefault="Allow" />
    </sectionGroup>

Eu precisava executar esses dois comandos e elevar o prompt de comando:

%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication

%windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication

Eu tive o mesmo problema. Não lembro onde o encontrei na Web, mas aqui está o que eu fiz:

  • Clique em "Start button"
  • na caixa de pesquisa, digite "Ativar ou desativar recursos do Windows"
  • na janela de recursos, clique em: "Serviços de Informações da Internet"
  • Clique em: "Serviços da World Wide Web"
  • Clique em: "Recursos de Desenvolvimento de Aplicativos"
  • Verifique (ative) os recursos. Eu chequei tudo, menos CGI.

btw, eu estou usando o Windows 7.


Eu tive o mesmo problema.

  • Resolvido, ativando o recurso do Application Server. Reiniciado é depois disso.

Isso foi o truque para mim, para o IIS 8 Windows Server 2012 R2

Vá para "Ativar recursos"

Então vá para todas as configurações padrão, Next, Next, Next etc.

Em seguida, selecione como mostrado abaixo,

Em seguida, redefina o IIS (opcional), mas é mais seguro.

Esta é uma solução adicional, pois é um problema genérico que todos têm diferentes problemas e, portanto, diferentes soluções. Felicidades!


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 no menu suspenso e reconstrua a solução.


No Windows Server 2012 com IIS 8 , resolvi isso ativando o recurso ASP.NET 4.5 :

e depois seguindo a resposta de ken .


No meu caso, eu estava recebendo este 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 muito as funções e os recursos do servidor:

Seção removida:

    <security>
        <authentication>
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>

No meu caso, foi que no servidor não foi habilitado "HTTP Activation" em recursos do .NET Framework. Então, para o Windows Server 2012, a solução que funcionou para mim foi:

Gerenciador de Servidores -> Adicionar funções e recursos -> Recursos -> certifique-se de que sob o .NET Framework da versão que você deseja usar está marcado "Ativação HTTP"


No meu caso, recebi este erro porque estava operando no arquivo de configuração incorreto.

Eu estava fazendo isso:

Configuration config = serverManager.GetWebConfiguration(websiteName);
ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime");
serverRuntimeSection["alternateHostName"] = hostname;

em vez do código correto:

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName);
serverRuntimeSection["alternateHostName"] = hostname;

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 tem 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.


O erro diz que a seção de configuração está bloqueada no nível pai. Portanto, não será diretamente 1 arquivo de configuração que irá resolver o problema, precisamos percorrer a hierarquia dos arquivos de configuração para ver a herança Verifique o link abaixo para passar pela hierarquia de arquivos e herança no IIS

https://msdn.microsoft.com/en-us/library/ms178685.aspx

Então você precisa verificar as configurações de configuração do aplicativo na ordem abaixo

  1. ApplicationHost.config em C: windows \ system32 \ inetsrv \ config. Altere o atributo overrideModeDefault para Permitir.
  2. ApplicationName.config ou web.config no diretório de aplicativos
  3. Web.config no diretório raiz.
  4. Web.config no site específico (Meu problema foi encontrado neste local).
  5. Web.config da web raiz (configuração do servidor)
  6. machine.config da máquina (o web.config e o machine.config do Root podem ser encontrados em - systemroot \ MicrosoftNET \ Framework \ versionNumber \ CONFIG \ Machine.config)

Vá com cuidado através de todas estas configurações na ordem de 1 a 6 e você deve encontrá-lo.


O seguinte funcionou para mim:

Vá para as propriedades do projeto. Guia Web. Defina como IIS local e defina uma página específica.

Eu tenho o Windows 7 e o Visual Studio 2013.


Para fazer uma alteração no nível de aplicativo (Web.Config):

Por favor, remova o nível de confiança do web.config:

Na verdade, eu estava recebendo este erro quando eu estava tentando hospedar meu site no servidor de hospedagem onde eu não tenho controle em seu servidor. Remover a linha acima do meu aplicativo web.config resolveu meu problema.


Para o Windows Server 2012 e o IIS 8 , o procedimento é semelhante.

O Web Server (IIS) e o Application Server devem ser instalados e você também deve ter o suporte opcional Web Server (IIS) Support em Application Server .


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, será necessário fazer alterações lá. Veja este link: http://digitaldrummerj.me/iis-express-windows-authentication/

Certifique-se de que estas linhas sejam alteradas por baixo:

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />

Recebeu o mesmo problema depois de 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 valores a seguir localizados na seção ->

<div mce_keep="true"><section name="handlers" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>
<div mce_keep="true"><section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>

Você precisa desbloquear manipuladores. Isso pode ser feito usando o seguinte comando cmd:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers

Talvez outra informação para as pessoas que estão recebendo este erro no IIS 8, no meu caso, foi na plataforma Microsoft Server 2012. Eu passei algumas horas lutando com outros erros que surgiram após a execução do appcmd. No final, consegui corrigi-lo removendo o Web Server Role e instalando-o novamente.


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á os erros overrideMode = "Deny" .





iis-10