development

페이지의 관련 구성 데이터가 유효하지 않으므로 요청한 페이지에 액세스 할 수 없습니다.

big-blog 2020. 2. 16. 20:43
반응형

페이지의 관련 구성 데이터가 유효하지 않으므로 요청한 페이지에 액세스 할 수 없습니다.


를 통해 IIS에 내 asp.net 웹 사이트를 업로드하고 싶습니다 IIS manager. 그러나 이것을하면 다음과 같은 오류가 발생합니다

HTTP 오류 500.19-내부 서버 오류 페이지의 관련 구성 데이터가 유효하지 않아 요청한 페이지에 액세스 할 수 없습니다.

Module  IIS Web Core
Notification    Unknown
Handler Not yet determined
Error Code  0x80070005
Config Error    Cannot read configuration file due to insufficient permissions
Config File \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config

이 오류에 대한 솔루션을 여러 번 검색했지만 오류를 해결 한 솔루션은 없습니다.

IUSR 계정에 문제가 있습니다. 의 속성에있는 "그룹 또는 사용자 이름"에서이 계정을 볼 수 없습니다 web.config.

무엇이 문제입니까?


구성 파일이 어떤 식 으로든 손상되었다는 메시지가 표시됩니다. 그러나 실제로 구성 파일에 액세스 할 수 없다고 말합니다. 따라서 권한 부족으로 인해 파일을 읽을 수없는 효과 일 가능성이 있기 때문에 손상 / 유효성 부족에 대한 원래 메시지를 무시합니다.

구성 파일을 읽을 수없는 이유는 웹 앱을 실행하는 프로세스에 파일 / 디렉토리에 액세스 할 수있는 권한이 없기 때문입니다. 따라서 웹 앱을 실행하는 프로세스에 해당 권한을 부여해야합니다.

액세스 권한은 매우 간단해야합니다. 즉, 최소한 Read , 앱에 따라 Write 입니다.

위의 에 대한 속성에 IUSR 등이 없다고 언급 했습니다 web.config. 그 말로 IUSR 이 파일의 보안 탭에 나열되어 있지 않다는 것은 좋은 일입니다. web.config에 IUSR에 어떤 종류의 권한도 부여하고 싶지 않습니다 . IUSR 역할 은 익명의 인터넷 사용자입니다.

web.config 파일 응용 프로그램을 통해서만 액세스 할 수 있어야 합니다.

문제는 사용중인 OS 및 IIS 버전을 말하지 않았으므로 수행해야 할 단계를 조언하기가 어렵습니다.

즉, IIS 7.5에서는 인용하는 오류 메시지가 ApplicationPoolIdentity 에 권한이 할당되지 않아 발생할 수 있습니다 . 웹 응용 프로그램은 응용 프로그램 풀에 속하므로 웹 응용 프로그램의 응용 프로그램 풀이 실행되는 OS 계정에 권한을 부여해야합니다. 이것은 종종 NetworkService 와 같은 것이지만 목적 계정으로 실행되도록 사용자 정의했을 수 있습니다. 더 많은 정보가 없으면 도움을주기가 어렵습니다.


사이트가 IIS URL 다시 쓰기 모듈 을 사용하도록 구성 되었지만 설치되지 않은 경우에도 발생할 수 있습니다 .


마지막으로 문제에 대한 해결책을 얻었습니다. IIS에서 확인란을 선택하지 않았기 때문에 ASP.net 계정이 IIS 관리자에 나타나지 않았습니다. Windows 7에서이를 수행하려면 다음 단계를 수행하십시오.

  1. 제어판 열기
  2. “프로그램”링크를 클릭하십시오 (프로그램을 제거하지는 마십시오)
  3. "윈도우 기능 켜기 / 끄기"링크를 클릭하십시오
  4. 팝업 창에서“인터넷 정보 서비스 IIS”를 찾아 노드를 확장하십시오
  5. “World Wide Web Service”노드를 확장하십시오
  6. "응용 프로그램 개발 기능"노드를 펼치십시오.
  7. “ASP.NET”의 확인란을 선택하십시오
  8. 그런 다음 확인 버튼을 클릭하십시오

이제 IIS 관리자에 ASP.net 계정이 표시되고 기본적으로 IIS 계정이 표시됩니다. 이제 ASP.net 웹 사이트를 "내 문서"에서 IIS가 액세스 권한이있는 다른 위치 (예 : 컴퓨터의 다른 파티션)로 이동해야합니다. 이제 IIS 관리자에서 웹 사이트를 탐색하면 제대로 작동합니다.

솔루션에 대해 Jeff Turner에게 감사드립니다.


필자의 경우 IIS URL 다시 쓰기 모듈을 설치하면 문제가 해결되었습니다.


나는 똑같은 문제를 겪고 있었고, 여기 나를 위해 일한 해결책이있다.

  1. IIS 관리자
  2. 해당 웹 사이트를 마우스 오른쪽 버튼으로 클릭
  3. 권한 수정
  4. 보안 탭에서 'IIS_IUSRS'사용자 추가
  5. 사용자 'IIS_IUSRS'에 대한 모든 권한을 부여
  6. 응용 프로그램 풀의 ID를 'ApplicationPoolIdentity'로 설정

들어 비주얼 스튜디오 (VS) 개발자 : 로 하비 Darvey, 야만인, 그리고 Snives에 의해, 당신의 암시 응용 프로그램 호스트 구성이 잘못된 응용 프로그램 실제 경로를 가리키는 할 수있다. 검색 virtualDirectory/.vs/config/applicationhost.config 변화에 PhysicalPath 인자를 가 잘못된 경우.

여기에 이미지 설명을 입력하십시오

physicalPath 가 올바른지 확인하십시오 .

여기에 이미지 설명을 입력하십시오


페이스 팜 알림 :

구성 파일의 경로가 잘못된 경우에도이 오류가 발생합니다. IIS에서 실제 경로가 올바르게 입력되었는지 확인하십시오.


로컬 컴퓨터에서 IIS_IUSRS에 대한 권한을 할당해야합니다 (그러나 IUSR에 할당 할 필요는 없습니다. 실제로 권한을 명시 적으로 거부하더라도 작동합니다).

권한을 할당하려면 폴더와 보안 탭을 마우스 오른쪽 버튼으로 클릭하고 올바른 권한을 부여했는지 확인하고 사용자가 목록에 없으면 "ADD"를 클릭 한 다음 IIS_IUSRS를 입력하고 "도메인"아래에 로컬이 있는지 확인하십시오 컴퓨터를 선택하거나 이름 필드 YourLocalComputerName \ IIS_IUSRS)를 입력 한 다음 계속 진행하십시오.

IIS_IUSRS 그룹에 권한을 할당하는 대신 일반적으로 "IIS APPPOOL \ app pool name " 이어야하는 앱 풀에 할당 할 수 있습니다 .


웹 사이트를 선택할 때 IIS 7의 오른쪽 창에서 연결 문자열을 두 번 클릭하여 확인하십시오.

URL 다시 쓰기 규칙을 사용하고 해당 구성 요소가 설치되어 있지 않으므로 오류가 발생합니다 (웹 구성 파일에 문제가 있음).

"IIS 7 용 Microsoft URL 다시 쓰기 모듈 2.0"을 설치하면 문제가 해결됩니다.


여기에 아무것도 효과가 없었지만 다른 SO 답변 에서이 명령을 발견했으며 내 문제를 해결했습니다. 관리자 권한으로 명령 프롬프트를 시작하고 다음 명령을 실행하십시오.

run->cmd

run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"

크레딧 : User Vicxx


칩 인하 기 위해 같은 종류의 오류가 발생했으며 문제는 매우 간단했습니다. .NET Core Hosting Bundle이 누락되었습니다. 도구를 설치하고 서버를 다시 시작하면 문제가 없습니다.

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2 에서 Windows에서 asp.net 코어를 호스팅하는 설명서를 찾을 수 있습니다.


나를 위해이 문제를 해결 한 다른 가능성 :

IIS-> 권한 편집-> 보안 탭-> "사용자"에게 적절한 권한 부여 (또는 설정에 따라 IIS_IUSRS)


Windows Server 2012, IIS 8.5에서이 문제를 해결하려면 다음 단계를 수행하십시오. 다른 버전에서도 작동합니다.

  1. 서버 관리자로 이동하여 역할 및 기능 추가를 클릭하십시오.
  2. 역할 섹션에서 다음을 선택하십시오. Web Server
  3. 보안 하위 섹션에서 모든 항목을 선택합니다 (다이제스트, IP 제한 및 URL 인증을 사용하지 않으므로 제외)
  4. 응용 프로그램 개발에서을 선택 하고 두 항목을 모두 선택하십시오 .NET Extensibility 4.5.ASP.NET 4.5ISAPI
  5. 기능 섹션 NET 3.5에서 .NET 4.5,,ASP.NET 4.5
  6. 웹 서버 섹션에서 Web Server(all), Management Tools(IIS Management Console and Management Service), Windows를 선택합니다.

흠. 내 사이트 / 파일을 다른 폴더로 옮겼습니다. IIS 웹 사이트에서 경로를 변경하지 않고

당신은 모두 웃을 수 있습니다.


응용 프로그램 풀이 올바른 버전의 프레임 워크로 설정되어 있는지 확인하십시오. 또한 aspnet, IIS_IUSRS 또는 IUSR 사용자에게 응용 프로그램 디렉토리에 대한 읽기 권한이 있는지 확인해야합니다.


내 web.config 파일과 IIS 웹 사이트 모두에 동일한 이름의 기본 문서 (예 : index.aspx)가 있었을 때도 이런 일이 일어났습니다. IIS 웹 사이트에서 항목을 제거하고 web.config 항목을 아래와 같이 유지했습니다.

<system.webServer>
  <defaultDocument>
    <files>
      <add value="index.aspx" />
    </files>
  </defaultDocument>...

때때로이 메시지에는 IIS 환경에서 특정 프레임 워크 또는 web.config에 대한 권한이 아닌 동적 압축과 같은 IIS 기능에서 누락 된 구성 요소가있을 수 있습니다.

이 경우 해결 방법은 Microsoft Platform Installer를 설치 및 사용하고 누락 된 구성 요소를 설치하는 것입니다. 오류 로그와 메시지가 알려주지 않으므로 정확히 누락 된 부분을 찔러야 할 수도 있습니다.


웹 사이트 폴더에 대한 권한을 설정하거나 wwwroot 폴더에 복사해야합니다. :-권한이 설정된 경우 두 가지 방법이 있습니다. + 웹 사이트 폴더를 마우스 오른쪽 버튼으로 클릭하거나 IIS에서 웹 사이트를 마우스 오른쪽 버튼으로 클릭 => 권한 편집 및 추가 추가 권한 (IUSR-기본 iis 사용자) 행운을 빕니다 ;-)


필자의 경우 응용 프로그램 실제 경로가 IIS에 존재하지 않는 폴더를 가리 킵니다.

응용 프로그램 설정 스크린 샷


web.config 파일을 prod에서 복사 할 때 문제가 있었으며 http S 로 다시 쓰는 Rewrite 규칙을 제외하고 prod와 관련이없는 모든 항목을 변경했습니다 .

해당 규칙을 제거하고 정상적으로 실행되었습니다.


아주 간단하게 IIS는 web.config에 액세스 할 수 없습니다. 먼저 문서 폴더에서 사이트를 가져옵니다. 또한 R / W 권한이 있는지 확인하십시오.


나도 비슷한 문제가 있었고 web.config 파일의 일부 섹션을 주석 처리하여 문제를 해결했습니다.

이 프로젝트는 이전에 .Net 2.0에서 빌드 및 배포되었습니다. .Net 3.5로 마이그레이션 한 후 예외가 발생하기 시작했습니다.

해결 :

구성 파일에 "< sectionGroup name ="system.web.extensions > "가 포함 된 경우, Machine.config에서이 섹션을 이미 사용할 수 있으므로 주석을 달고 실행하십시오.


web.config 파일에 synax 오류 또는 문제가있는 경우이 오류가 발생할 수 있습니다.

나를 위해, 그것은 AppSettings에서 사용하고 있던 URL에서 길 잃은 앰퍼샌드 였습니다.


IIS 7.5 오류 페이지에서 페이지 하단의 '추가 정보보기'를 클릭하면이 경우 다음 Microsoft 링크로 이동합니다.

http://support.microsoft.com/kb/942055

0x80070005 오류 코드는 사용 권한과 관련된 것으로 보이며 해결 방법 2, 방법 2의 단계에 따라 관련 폴더에 대한 사용 권한이있는 올바른 계정을 지정하면 문제를 해결해야합니다.


매핑 된 드라이브에서이 문제가 발생하면 매핑 된 드라이브에서 IIS가 작동하지 않습니다. 매핑되지 않은 드라이브 만 사용하십시오.


웹 사이트가 저장된 폴더를 탐색하면 추가 폴더 "aspnet_client"가 추가되어 해당 폴더를 삭제하면 효과가 있습니다.

나는 이것을 시도하여 내 문제가 해결되었습니다.

그것이 효과가 있다면 다른 신체도 해결책을 얻도록 대답으로하십시오.


ASP.NET Core 모듈 설치

다음 링크를 사용하여 설치 프로그램을 다운로드하십시오. https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer


이 중 어느 것도 나를 위해 일한 것은 아니지만 마침내 나를 위해 일한 해결책이 있습니다.

web.config에서이 줄을 제거하십시오.

<compilation debug="true" targetFramework="4.5"/>

이 줄을 제거하지 마십시오

<compilation debug="true"/>

보안에 로컬 계정 IIS_IUSRS를 추가하고 읽기 / 실행 권한을 부여하십시오. 그것은 내 경우에 작동합니다.


필자의 경우 anonymousAuthentication 속성을 주석 처리하거나 삭제하는 것만으로 작동합니다.

 <security>
     <authentication>
         <!--<anonymousAuthentication enabled="true" />-->
     </authentication>
 </security>

참고 URL : https://stackoverflow.com/questions/9216158/the-requested-page-cannot-be-accessed-because-the-related-configuration-data-for



반응형