페이지의 관련 구성 데이터가 유효하지 않으므로 요청한 페이지에 액세스 할 수 없습니다.
를 통해 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에서이를 수행하려면 다음 단계를 수행하십시오.
- 제어판 열기
- “프로그램”링크를 클릭하십시오 (프로그램을 제거하지는 마십시오)
- "윈도우 기능 켜기 / 끄기"링크를 클릭하십시오
- 팝업 창에서“인터넷 정보 서비스 IIS”를 찾아 노드를 확장하십시오
- “World Wide Web Service”노드를 확장하십시오
- "응용 프로그램 개발 기능"노드를 펼치십시오.
- “ASP.NET”의 확인란을 선택하십시오
- 그런 다음 확인 버튼을 클릭하십시오
이제 IIS 관리자에 ASP.net 계정이 표시되고 기본적으로 IIS 계정이 표시됩니다. 이제 ASP.net 웹 사이트를 "내 문서"에서 IIS가 액세스 권한이있는 다른 위치 (예 : 컴퓨터의 다른 파티션)로 이동해야합니다. 이제 IIS 관리자에서 웹 사이트를 탐색하면 제대로 작동합니다.
솔루션에 대해 Jeff Turner에게 감사드립니다.
필자의 경우 IIS URL 다시 쓰기 모듈을 설치하면 문제가 해결되었습니다.
나는 똑같은 문제를 겪고 있었고, 여기 나를 위해 일한 해결책이있다.
- IIS 관리자
- 해당 웹 사이트를 마우스 오른쪽 버튼으로 클릭
- 권한 수정
- 보안 탭에서 'IIS_IUSRS'사용자 추가
- 사용자 'IIS_IUSRS'에 대한 모든 권한을 부여
- 응용 프로그램 풀의 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에서이 문제를 해결하려면 다음 단계를 수행하십시오. 다른 버전에서도 작동합니다.
- 서버 관리자로 이동하여 역할 및 기능 추가를 클릭하십시오.
- 역할 섹션에서 다음을 선택하십시오.
Web Server
- 보안 하위 섹션에서 모든 항목을 선택합니다 (다이제스트, IP 제한 및 URL 인증을 사용하지 않으므로 제외)
- 응용 프로그램 개발에서을 선택 하고 두 항목을 모두 선택하십시오
.NET Extensibility 4.5
.ASP.NET 4.5
ISAPI
- 기능 섹션
NET 3.5
에서.NET 4.5
,,ASP.NET 4.5
- 웹 서버 섹션에서
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>
'development' 카테고리의 다른 글
비트 맵을 위치에 저장 (0) | 2020.02.16 |
---|---|
JavaScript 배열 정보를 CSV로 내보내는 방법 (클라이언트 측)? (0) | 2020.02.16 |
Swift에서 UIAlertView를 어떻게 만들 수 있습니까? (0) | 2020.02.16 |
git cherry-pick은“… 38c74d는 병합되었지만 -m 옵션은 제공되지 않았습니다”라고 말합니다. (0) | 2020.02.16 |
전화 번호를 어떻게 표시합니까? (0) | 2020.02.16 |