질문자 :Alex
서버에 사이트를 배포하는 동안 오류가 발생했습니다. 홈 페이지를 로드하거나 IIS의 새 사이트에서 인증에 액세스하려고 하면 오류가 발생합니다.
구성 오류: 이 구성 섹션은 이 경로에서 사용할 수 없습니다. 이는 섹션이 상위 수준에서 잠겨 있을 때 발생합니다. 잠금은 기본적으로(overrideModeDefault="Deny") 또는 overrideMode="Deny" 또는 레거시 allowOverride="false"가 있는 위치 태그에 의해 명시적으로 설정됩니다.
자세한 내용은 여기에서 찾을 수 있습니다. 시나리오 7 은 16진수 오류 코드와 일치합니다.
위의 링크된 사이트에 제공된 솔루션 은 applicationHost.config 파일의 내 오류에서 언급한 섹션에서 Allow for overrideModeDefault를 설정하는 것입니다. 제 경우에는 system.webServer 의 Security 아래에 있습니다. 그러나 사이트가 이미 제대로 배포되어 있는 로컬 컴퓨터 에서 applicationHost.config 를 보면 해당 섹션이 Deny 로 설정되어 있습니다.
이 솔루션이 올바른 경우 내 로컬 인스턴스가 동일한 web.config에서 어떻게 제대로 실행되고 있습니까? 내 applicationHost.config 에 따르면 해당 섹션은 잠겨 있어야 하지만 그렇지 않습니다. 해당 서버에서 실행 중인 다른 사이트가 많기 때문에 applicationHost.config 파일을 변경하지 않는 것이 좋습니다. 다른 해결책이 있습니까?
나는 같은 문제가 있었다. 웹에서 어디서 찾았는지 기억나지 않지만 다음은 내가 한 일입니다.
- "시작 버튼"을 클릭하십시오
- 검색 상자에 "Windows 기능 켜기 또는 끄기"를 입력하십시오.
- 기능 창에서 "인터넷 정보 서비스"를 클릭하십시오.
- 클릭: "월드 와이드 웹 서비스"
- 클릭: "응용 프로그램 개발 기능"
- 기능을 확인(활성화)합니다. 나는 CGI를 제외한 모든 것을 확인했다.
btw, 저는 Windows 7을 사용하고 있습니다. 수년에 걸쳐 많은 의견에서 이것이 Windows 10 및 Server 2019까지 작동한다는 것을 인증했습니다.
chuck97224IIS 관리자 를 사용하여 해당 설정을 편집할 수도 있습니다.
이 Learn IIS 문서 관리 :
IIS 루트에서 기능 위임 사용:
그런 다음 각각의 시스템 수준 읽기/쓰기 권한을 제어할 수 있습니다. 그렇지 않으면 overrideMode="Deny" 오류가 발생합니다.
OverflewWindows Server 2012 및 IIS 8 의 경우 절차는 유사합니다.
Web Server (IIS)
및 Application Server
가 설치되어 있어야 하며 Application Server
아래에 Web Server (IIS) Support
도 있어야 합니다.
ken"C:\Windows\System32\inetsrv\config"로 이동합니다(여기서 관리자 권한이 필요합니다). applicationHost.config를 엽니다.
참고 : IISExpress 및 Visual Studio 2015에서 applicationHost.config는 $(solutionDir).vs\config\applicationhost.config
오류 메시지 페이지의 "구성 소스" 부분에 표시된 섹션을 찾으십시오. 나에게 이것은 일반적으로 "모듈"또는 "핸들러"였습니다.
overrideModeDefault
속성을 Allow
변경하십시오.
이제 전체 줄은 다음과 같습니다.
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
파일을 저장한 후 페이지가 내 브라우저에 제대로 로드되었습니다.
경고: 64비트 Windows에서 applicationHost.config 편집
Nime Cloud핸들러를 잠금 해제해야 합니다. 이것은 다음 cmd 명령을 사용하여 수행할 수 있습니다.
%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers
IIS 8에서 이 오류가 발생하는 사람들을 위한 또 다른 정보는 제 경우에는 Microsoft Server 2012 플랫폼에 있었습니다. appcmd를 실행한 후 발생한 다른 오류와 씨름하느라 몇 시간을 보냈습니다. 결국 웹 서버 역할을 제거하고 다시 설치하여 문제를 해결할 수 있었습니다.
Gregor Primar1. WinKey+ R => "optionalfeatures" => 확인을 통해 " Windows 기능 켜기 또는 끄기 "를 엽니다.
- "응용 프로그램 개발 기능" 에서 해당 기능을 활성화하십시오.
Win 10에서 테스트됨 - 하지만 아마도 다른 Windows 버전에서도 작동할 것입니다.
Aviram Fireberger관리자 권한 명령 프롬프트에서 다음 두 명령을 실행했습니다.
%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication %windir%/system32/inetsrv/appcmd unlock config /section:windowsAuthentication
Benji이 비슷한 문제에 대한 내 대답에 따르면 ;
다음과 같이 서버 수준에서 관련 IIS 구성 설정의 잠금을 해제해 보십시오.
- IIS 관리자 열기
- 연결 창에서 서버 선택
- 기본 창에서 구성 편집기 열기
- 섹션 드롭다운에서 잠금 해제할 섹션을 선택합니다(예: system.webServer > defaultPath).
- 오른쪽 창에서 잠금 해제 속성 클릭
- 잠금을 해제해야 하는 다른 설정에 대해 반복합니다.
- IIS 다시 시작(선택 사항) - 연결 창에서 서버를 선택하고 작업 창에서 다시 시작을 클릭합니다.
Chris이것은 IIS 8 Windows 서버 2012 R2에 대한 트릭을 수행했습니다.
"기능 켜기"로 이동하십시오.
그런 다음 모든 기본 설정, 다음, 다음, 다음 등으로 이동합니다.
그런 다음 아래 그림과 같이 선택하십시오.
그런 다음 IIS(선택 사항)를 재설정하되 더 안전한 쪽을 수행하십시오.
이것은 일반적인 문제로 모든 사람이 다른 문제를 가지고 있으므로 다른 솔루션이기 때문에 추가 솔루션입니다. 건배!
Usman YounasIIS 8이 설치된 Windows Server 2012 에서 ASP.NET 4.5 기능을 활성화하여 이 문제를 해결했습니다.
그런 다음 ken의 대답을 따릅니다 .
Kimi가장 좋은 방법은 Custom Site Delegation
Application Settings
을 변경하는 것입니다.
IIS
열고 루트에서 Feature Delegation
을 선택한 다음 Application Settings
을 선택하고 오른쪽 사이드바에서 Read/Write
Dr TJ이 문제를 해결하려면 IIS Express applicationhost.config를 엽니다. 이 파일은 C:\Users[사용자 이름]\Documents\IISExpress\config\applicationhost.config에 저장됩니다.
VS2015+용 업데이트: 구성 파일 위치는 $(solutionDir).vs\config\applicationhost.config입니다.
다음 줄을 찾으십시오.
<section name="windowsAuthentication" overrideModeDefault="Deny" /> <section name="anonymousAuthentication" overrideModeDefault="Deny" /> <add name="WindowsAuthenticationModule" lockItem="true" /> <add name="AnonymousAuthenticationModule" lockItem="true" />
해당 라인을 다음으로 변경하십시오.
<section name="windowsAuthentication" overrideModeDefault="Allow" /> <section name="anonymousAuthentication" overrideModeDefault="Allow" /> <add name="WindowsAuthenticationModule" lockItem="false" /> <add name="AnonymousAuthenticationModule" lockItem="false" />
저장하고 Asp.net 페이지를 새로 고칩니다.
Rao AdnanIIS 8의 경우 다음과 같은 경우 사이트에 대한 인증을 보려고 할 때 오류가 생성되었음을 발견했습니다.
- "인증 - Windows" = "읽기 전용"으로 표시된 서버 기능 위임
- 사이트에는 Windows 인증을 명시적으로 참조하는 web.config가 있습니다. 예,
사이트 기능 위임을 "인증 - Windows" = "읽기/쓰기"로 표시하면 오류가 사라졌습니다. "읽기 전용"으로 표시된 기능을 사용하면 web.config가 쓰기를 구성하기 때문에 비활성화하는 경우에도 이를 참조할 수 없습니다.
IronRodIIS Express 및 VS 2015에는 $(solutionDir).vs\config\applicationhost.config에 applicationHost.config 파일의 복사본이 있으므로 변경해야 합니다. 이 링크를 참조하십시오: http://digitaldrummerj.me/iis-express-windows-authentication/
이 행이 아래와 같이 변경되었는지 확인하십시오.
<section name="windowsAuthentication" overrideModeDefault="Allow" /> <section name="anonymousAuthentication" overrideModeDefault="Allow" /> <add name="WindowsAuthenticationModule" lockItem="false" /> <add name="AnonymousAuthenticationModule" lockItem="false" />
PBMe_HikeIt제 경우에는 서버에서 .NET Framework 기능에서 "HTTP 활성화"가 활성화되지 않았습니다. 따라서 Windows Server 2012의 경우 나를 위해 일한 솔루션은 다음과 같습니다.
서버 관리자 -> 역할 및 기능 추가 -> 기능 -> 사용하려는 버전의 .NET Framework에서 "HTTP 활성화"가 선택되어 있는지 확인합니다.
Pavel Nemec기능을 활성화하는 Powershell 방식(Windows Server 2012 이상) - 필요에 따라 다듬기:
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
Chris S비슷한 답변을 찾았지만 제 경우에는 IIS 구성 편집기를 사용하여 "잠금 해제"하려는 섹션을 찾았습니다.
그런 다음 편집하려는 섹션을 변경하기 전에 경로를 복사하여 자동화에서 사용하여 잠금을 해제했습니다.
. "$($env:windir)\system32\inetsrv\appcmd" unlock config -section:system.webServer/security/authentication/windowsAuthentication . "$($env:windir)\system32\inetsrv\appcmd" unlock config -section:system.webServer/security/authentication/anonymousAuthentication
Brandon Hawbaker오류는 구성 섹션이 상위 수준에서 잠겨 있다고 말합니다. 따라서 문제를 해결할 1개의 구성 파일이 직접적으로 해결되지 않습니다. 상속을 보려면 구성 파일의 계층 구조를 살펴봐야 합니다. IIS의 파일 계층 구조 및 상속을 보려면 아래 링크를 확인하십시오.
https://msdn.microsoft.com/en-us/library/ms178685.aspx
따라서 아래 순서대로 앱 구성 설정을 확인해야 합니다.
- C:windows\system32\inetsrv\config의 ApplicationHost.config. overrideModeDefault 속성을 Allow로 변경합니다.
- 애플리케이션 디렉토리의 ApplicationName.config 또는 web.config
- 루트 디렉토리의 Web.config.
- 특정 웹 사이트의 Web.config(내 문제는 이 위치에서 발견됨).
- 루트 웹의 Web.config(서버 구성)
- 머신의 machine.config(루트의 web.config 및 machine.config는 - systemroot\MicrosoftNET\Framework\versionNumber\CONFIG\Machine.config에서 찾을 수 있음)
이 모든 구성을 1에서 6의 순서로 주의 깊게 살펴보고 찾아야 합니다.
Avil Mascarenhas이 좋은 메시지를 받았을 때 하위 폴더의 SSL 설정을 변경해야 했습니다. 제 경우에는 다음 조치가 도움이 되었습니다.
C:\Windows\System32\inetsrv\config\applicationHost.config를 열었습니다.
그리고 값을 overrideModeDefault="Deny"에서 "Allow"로 변경했습니다.
<sectionGroup name="system.webServer"> ... <sectionGroup name="security"> <section name="access" overrideModeDefault="Allow" /> </sectionGroup>
Stefan Michev제 경우에는 잘못된 구성 파일에서 작업했기 때문에 이 오류가 발생했습니다.
나는 이것을하고 있었다 :
Configuration config = serverManager.GetWebConfiguration(websiteName); ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime"); serverRuntimeSection["alternateHostName"] = hostname;
올바른 코드 대신:
Configuration config = serverManager.GetApplicationHostConfiguration(); ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName); serverRuntimeSection["alternateHostName"] = hostname;
즉, 웹 사이트에 대한 섹션(또는 섹션이 있을 수 있음)이 있는 전역 파일 C:\Windows\System32\inetsrv\config\applicationHost.config 대신 웹 사이트의 web.config에서 작업하려고 했습니다. 변경하려는 설정은 applicationHost.config 파일에만 있습니다.
Mark R제 경우에는 다른 것이었습니다.
새 버전의 Visual Studio에서 솔루션을 로드했을 때 VS는 분명히 새로운 프로젝트별 applicationhost.config 파일을 생성했습니다.
MySolutionDir\.vs\config\applicationhost.config
이미 사용자 지정된 전역 IIS Express 설정 대신 새 구성의 설정을 사용하기 시작했습니다. (\Users\%USER%\Documents\IISExpress\config\applicationhost.config)
제 경우에는 이것이 설정해야 할 설정이었습니다. 물론 그것은 당신을 위한 다른 것일 수 있습니다:
<section name="ipSecurity" overrideModeDefault="Allow" />
AndrewVista Home Premium에 IIS 7을 설치한 후에도 동일한 문제가 발생했습니다. 오류를 수정하기 위해 Windows\system32\inetsrv에 있는 applicationHost.config 파일에 있는 다음 값을 변경했습니다.
섹션에 있는 다음 값을 모두 변경하십시오 -->
<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>
Bhavesh당신은 이것을 시도할 수 있습니다:
거부 오류가 발생하는 응용 프로그램 경로로 이동하여 마우스 오른쪽 버튼을 클릭합니다.
속성 -> 보안 탭
거기에서 권한을 변경하고 읽기 및 쓰기 확인란을 선택하십시오. 그러면 오류 없이 잘 작동할 것입니다.
user5891257Windows Server 2008 및 IIS 7의 경우 절차는 유사합니다. 다음을 참조하십시오: http://msdn.microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx
역할 서비스 추가에서 "응용 프로그램 개발 기능"이 표시됩니다.
기능을 확인(활성화)합니다. 모두 확인했습니다.
Scott 混合理论오버라이드 = "허용" 값(여기에 이미 언급됨)을 입력하는 문제가 있었지만 x64 비트 시스템에서는.......내 32 메모장++이 그것들을 팬텀 저장하고 있었습니다. 메모장(x64비트 O/S의 64비트 응용 프로그램)으로 전환하면 설정을 저장할 수 있습니다.
보다 :
http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/
관련 텍스트:
내가 실행하고 있는 문제 중 하나는 applicationHost.config를 보고 편집해야 했습니다. 이 파일은 %SystemRoot%\System32\inetsrv\config에 있습니다. 충분히 간단해 보입니다. 커맨드 라인에서 쉽게 찾을 수 있었는데 내가 즐겨 사용하는 편집기(메모장++)에서 로드하려고 하면 파일을 찾을 수 없다는 오류가 발생했습니다. System32 폴더는 32비트 응용 프로그램의 경우 SysWOW64로 리디렉션됩니다. 32비트 앱을 사용하여 System32 폴더를 볼 수 있는 방법이 없는 것 같습니다. 그림을 이동. 다행히 64비트 버전의 Windows는 64비트 버전의 메모장과 함께 제공됩니다. 내가 그것을 싫어하는 만큼 적어도 효과가 있습니다.
granadaCoder제 경우에는 검색 외에도 IIS에서 인증 설정을 업데이트하려고 할 때 이 오류가 발생했습니다. web.config 자체에서 인증 설정을 제거하여 이 오류를 제거할 수 있었습니다. 문제가 있는 구성 섹션을 제거하는 것이 서버 역할 및 기능을 너무 많이 변경하는 것보다 덜 침습적이며 경우에 따라 선호될 수 있습니다.
제거된 섹션:
<security> <authentication> <windowsAuthentication enabled="true" /> </authentication> </security>
Brandon Hawbaker나는 같은 문제가 있었다.
- Application Server 기능을 활성화하여 문제를 해결했습니다. 그 후 iis를 다시 시작했습니다.
Jyo Reddy이것은 저에게 효과적이었습니다. 또한 IIS 8에서는 서버를 IIS Express로 변경하여 이 문제를 해결할 수 있습니다. 디버그 -> 속성으로 이동 웹의 드롭다운에서 서버를 IIS Express로 선택한 다음 솔루션을 다시 빌드합니다.
LahiruD애플리케이션 수준(Web.Config)에서 변경하려면:
web.config에서 신뢰 수준을 제거하십시오.
실제로 내가 그들의 서버를 제어할 수 없는 호스팅 서버에서 내 웹사이트를 호스팅하려고 할 때 이 오류가 발생했습니다. 내 응용 프로그램 web.config에서 위의 줄을 제거하면 내 문제가 해결되었습니다.
Ankit Prajapati다음은 나를 위해 일했습니다.
프로젝트 속성으로 이동합니다. 웹 탭. 로컬 IIS로 설정하고 특정 페이지를 설정합니다.
Windows 7과 Visual Studio 2013이 있습니다.
user3900346출처 : http:www.stackoverflow.com/questions/9794985/config-error-this-configuration-section-cannot-be-used-at-this-path