IIS7.0에서 "HTTP 오류 500.19-내부 서버 오류"를 해결하는 방법


199

이 오류의 원인은 무엇이며 어떻게 해결할 수 있습니까?

자세한 오류 정보
모듈 IIS 웹 핵심
알림 BeginRequest
처리기 아직 결정되지 않음
오류 코드 0x8007052e
구성 오류 가상 디렉터리 암호를 사용하여 사용자 관리자로 C : \ inetpub \ wwwroot에 로컬로 로그온 할 수
없음 구성 파일을 사용할 수 없음 (구성 격리)
요청 된 URL http : // 192.168.0.3:80/
실제 경로 C : \ inetpub \ wwwroot
로그온 방법 아직 결정되지 않은
로그온 사용자 아직 결정되지 않은

구성 소스

<application path="/" applicationPool="PS-Extranet">
    <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" userName="administrator" password="[enc:AesProvider:PrISRz2ggJH4bV46ktObfCSh91Y/yF9pAoLmH7eCnj0=:enc]" />
</application>

1
"실제"오류 메시지는 일반적으로 페이지의 어딘가에 있습니다. 이 질문에 대한 도움이 필요하면 오류 페이지의 전체 내용을 게시해야합니다.
John Farrell

1
사람들이 Google 검색을 수행하고 명확하지 않은 경우이 질문을 제기하는 사람들을 지적하고 싶습니다 .IISExpress와 함께 VS2012를 사용하고 있습니다. 실수로 c : / Users / [YOUR USER NAME] / MyDoocuments / My Websites / [THE WEBSITE]에서 폴더를 삭제했습니다. 그것은 빈 폴더였습니다 (어떤 이유로 내 두뇌가 삭제한다고 말함). 휴지통에서 복원하면 모든 것이 잘되었습니다. 댓글에 대해 죄송하지만 하단에 표시되어 보이지 않는 답변보다 낫습니다. 다른 방법이 없다면 대안입니다.
REMESQ

2
(1) IIS 관리자로 이동하여 (2) 웹 사이트의 고급 설정 창을 열고 (3) 실제 경로 자격 증명을 관리자에게 설정하십시오.
Jeremy Ray Brown


나는 오래된 게시물을 알고 있지만 이것이 나를 위해 일한 것입니다 (쉬운 솔루션), 방금 비주얼 스튜디오를 닫았다가 다시 열었습니다. 나는 정확히 같은 오류가 있었다. 내 git 명령 프롬프트를 확인하면 .vs/config/applicationhost.config파일이 변경되어 가상 디렉토리 경로가 업데이트 된 것을 볼 수 있습니다 .
S52

답변:


145

앱 풀에 사용중인 사용자 계정에 웹 사이트 디렉토리에 대한 권한이없는 것 같아서 거기에서 구성을 읽을 수 없습니다. 앱 풀을 확인하고 실행하도록 구성된 사용자를 확인하십시오. 디렉토리를 확인하고 해당 사용자에게 적절한 권한이 있는지 확인하십시오. 당신이 그것을하는 동안 이벤트 로그를 확인하고 IIS가 더 자세한 진단 정보를 기록했는지 확인하십시오.


올바른 bruce는 오늘 아침에 해결되었지만 시스템 관리자가 서버의 계정 암호를 변경했지만 가상 디렉터리의 사용자 계정 로그인을 변경하는 것으로 생략되었습니다. 사이트가 일정 기간 동안 사용하지 않아 응용 프로그램 프로세스가 종료되면 오류가 밤새 발생한 것으로 보입니다. 답변 주셔서 감사합니다
Stuart

저에게는 IT 부서가 서비스 계정의 암호를 변경했습니다.
JanBorup

@Bruce : localhost에서 일하고 있는데 같은 오류가 발생합니다.이 경우 어떻게해야합니까
hud

29
이 질문에 대한 대답은 일반적으로 문제를 일으키는 좋은 방법이지만 문제가 더 모호한 사람들에게는 Jomy John의 답변이 현재 더 많은 투표권을 가지고 있습니다. web.config 파일의 <rewrite> 태그와 관련이 있습니다. 페이지를 먼 길로 보았으므로 거의 언급하지 않았습니다.
Chad McGrath

4
@ChadMcGrath Pro 팁 : 투표별로 답변 정렬 (설정이
유지됨

368

나는 같은 문제가 있었지만 이유는 달랐다.

내 web.config에 URL 다시 쓰기 모듈 규칙이 있었고 URL 다시 쓰기 모듈도 설치하지 않았습니다. url rewrite 모듈을 설치 하면이 문제가 해결되었습니다.


69
구성 섹션이 이해하지 못하는 +1000의 완전 asinine 오류 메시지
Chris Marisic

4
@ChrisMarisic-예, 아니오 오류 메시지는 도움이되지 않지만 정확합니다. URL 재 작성 모듈이 없으므로 <urlRewrite> 구성 섹션이 유효하지 않으므로 기술적으로 구성이 잘못되었습니다. 이제 그들이 더 나은 오류를 내뱉을 수없는 이유는 저를 넘어서는 것입니다.
Wyatt Barnett

15
이 오류 메시지에 대해 설명 할 수없는 것은 구성 소스를 표시 할 때 코드 라인 "-1"및 "0"이있는 빈 창을 표시하는 것입니다. 그것이 보여줄 것은 당신의 설정에있는 "<rewrite>"부분이며, 그것이 무엇인지 모른다는 비명을 지르는 것입니다 ...
JoeCool

11
나는 쓸모없는 오류 메시지를 뚫을 수 있도록 Microsoft가 얼굴을 갖기를 바랍니다.
Yatrix

2
와우 마이크로 소프트, 또 다른 스윙과 미스
schmoopy

102

Windows 10에서는 설치 ASP.NET 3.5ASP.NET 4.6아래 에 설치해야했습니다 Internet Information Services(다른 상자는 자동으로 자체 확인).

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


이것은 "클래식"appPool 설정을 사용하여 DNN을 응용 프로그램으로 사용하고 가상 디렉터리에 적용 할 수있는 시작 솔루션이었습니다. 이제 IIS에서 PHP 및 ASPX 응용 프로그램을 실행할 수 있습니다. 화재를 시작해 주셔서 감사합니다.
klewis

1
고마워 나는 많은 솔루션을 시도했지만 운이 없으며 여기로 스크롤하여 제안 된 솔루션을 시도해 보았습니다. 잘 했어 #joshcomley
nativegrip

1
그리고 이것이 여기에 당신이 모든 제안 된 답변을 읽어야하는 이유입니다! 조쉬 감사합니다!
Conor Gallagher

감사합니다! 구성중인 새 서버에서 쓸모없는 "HTTP 오류 500"메시지가 나타납니다. 로그 파일에서 sc-substatus는 19이고 sc-win32-status는 33입니다. 이러한 dev 기능을 추가하면 고정되어 있습니다.
밥 카우프만

그것이 문제였습니다 감사합니다!
smedasn

74

마지막으로 문제에 대한 해결책을 얻습니다. Windows 7에서 IIS의 확인란을 선택하지 않았으므로 IIS 관리자에 asp.net 계정이 나타나지 않습니다.

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

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


이것은 완전히 나를 위해 일했습니다! 감사! 내 문제는 ASP, ASP.NET 3.5 및 ASP.NET 4.5를 사용할 수 없다는 것입니다. 그래서 그것들을 확인 / 활성화했으며 이제는 감사합니다!
doncadavona

요점. 감사!
Razko

67

도메인 관리자 비밀번호를 변경 한 후이 오류가 발생했습니다.

몇 가지 설정으로 원숭이를 낳은 후 결국 통과 경로 인증 대신 도메인 관리자 계정을 사용하도록 설정된 경로 아래의 응용 프로그램에서 결국 그 이유를 알았습니다.

IIS 관리자-> 기본 설정-> 연결


내 문제도 해결했습니다 (비활성화 한 사용자로 실행되도록 설정되었으므로 다시 통과로 전환했습니다).
Josh

2
나는이 대답이 오래되었다는 것을 알고 있지만 이것은 내 문제도 해결했다.
smoothgrips

20

한 단계 만 수행하면됩니다.

run->cmd

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

그게 다야


1
이 명령을 관리자 권한으로 실행
user2819666

Windows 10에서는 다음과 같은 오류가 발생합니다.이 버전의 운영 체제에서는이 옵션이 지원되지 않습니다. 대신 관리자는 "Windows 기능 켜기 / 끄기"대화 상자, 서버 관리자 관리 도구 또는 dism.exe 명령 줄 도구를 사용하여 IIS8과 함께 ASP.NET 4.5를 설치 / 제거해야합니다. 자세한 내용은 go.microsoft.com/fwlink/?LinkID=216771을 참조하십시오 . 이 버전의 ASP.Net을 사용하도록 기존 웹 응용 프로그램을 변경하지 않고 ASP.NET (4.0.30319.0) 설치를 완료했습니다.
Shridhar R Kulkarni

이 명령에 대해 약간의 설명을 줄 수 있다면 더 좋습니다.
eRaisedToX

15

오늘이 문제를 경험하고 해결했습니다. 누군가 IIS의 "기본 웹 사이트"에 대해 "경로 자격 증명"을 특정 사용자로 실행하도록 설정했습니다. 동일한 사용자가 비밀번호 만료 또는 일상적인 변경으로 인해 비밀번호를 변경했습니다. 기본 설정 옵션을 통해 "기본 웹 사이트"를 "응용 프로그램 사용자"로 연결하도록 설정하면 해결되었습니다.


이것은 나를위한 것이었다. 감사! 내 경로 자격 증명이 내 계정으로 설정되었지만 오늘 저녁 일찍 비밀번호를 입력하고 15 분 동안 잠겼습니다. 내 경로 자격 증명을 다시 사용하면 사용자 이름 / 암호를 사용할 수 있습니다. 흠, 내 계정의 잠금이 해제 되었기 때문에 방금 서비스를 반송 한 경우 그 방법을 사용할 수있었습니다. 아냐, 고마워!
Patrick Karcher

2015 년 2 월이며 IIS 오류는 언제나처럼 당황합니다. 감사!
Warren P

13

NT 암호를 변경했을 것입니다.

IIS 열기-> 애플리케이션을 마우스 오른쪽 단추로 클릭-> 애플리케이션 관리-> 고급 설정-> 실제 경로 신임 정보를여십시오.

행운을 빕니다


8

내 경우에는 폴더의 솔루션을 변경 한 후이 오류가 나타납니다.

내 프로젝트 속성으로 이동하여 가상 디렉터리를 다시 만들어 문제를 해결합니다.

프로젝트> 속성> 웹을 마우스 오른쪽 단추로 클릭하고 서버 섹션에서 "가상 디렉토리 작성"을 클릭하십시오.

가상 디렉토리가 다른 위치에 작성되었다는 메시지가 표시되고 변경됩니다.


7

나를 위해 "Windows 기능 추가 / 제거"의 .Net 기능에서 Http Activation 을 활성화해야했습니다.


6

이 작업은 올바르게 수행되었지만 위의 제안을 기반으로하지는 않았습니다. 내 경우는 도메인의 Windows 2008 서버에서 iis7을 실행하면 500 오류가 발생하는 것입니다. 도메인에 새 사용자를 추가하고 기본적으로 가상 디렉터리 또는 폴더에 대한 읽기 / 실행 액세스를 허용합니다. 가상 폴더> 기본 설정> 다른 이름으로 연결> 경로 자격 증명이 읽기 / xecute 액세스 권한이있는 사용자로 설정되어 있는지 확인하십시오. 설정을 테스트 할 수 있으며 인증 및 권한 부여가 모두 작동합니다. 건배!


5

지금은이 오류가 발생하여 해결되었습니다. 귀하의 URL은 작성된 가상 디렉토리와 일치 할 수 있습니다.

내 예제에서 applicationhost.config다음 행 에서 찾은 가상 디렉토리를 확인해야합니다 .

<application path="/" applicationPool="Clr4IntegratedAppPool">
    <virtualDirectory path="/admin/roles" physicalPath="C:\..." />
</application>

URL ( http://localhost/admin/roles) AdminControllerRoles작업으로 페이지를 열려고 시도했지만 이 오류가 발생했습니다.


4

다른 사람들에게는 .Net 2 앱 풀에서 .Net 4 앱을 실행하려고 시도했기 때문에 비슷한 오류 메시지가 나타납니다. 앱 풀의 .Net FX 버전을 변경하면 문제가 해결되었습니다.


4

내 www 루트 디렉토리 (표준 루트 디렉토리가 아님)의 web.config에 몇 줄로 지시 된 오류 코드 0x80070020으로 PHP 5.3.3을 설치하는 비슷한 오류가 발생했습니다.

솔루션은 조잡하면서도 완벽하게 작동했습니다. 간단히 web.config 파일을 삭제하면 모든 것이 작동합니다. HOURS는 다른 솔루션을 시도해 보았습니다.

누구든지 이것이 바보라고 생각하면 알려주십시오. 다른 사람이 머리카락을 뽑는 데 같은 시간을 보냈다면 시도해보십시오 (물론 파일을 백업 한 후)

FEQ 감사합니다


4

IIS 응용 프로그램 풀에서 동일한 오류가 발생하고 자격 증명을 수정해도 도움이되지 않았습니다. 기본 웹 사이트, 고급 설정-> 물리적 경로 자격 증명-> 특정 사용자에서 내 웹 사이트를 선택하여 IIS의 오류를 마침내 해결하고 앱 풀 사용자의 자격 증명을 다시 입력 한 다음 IIS를 다시 시작하면 오류가 사라지고 웹 사이트가 방문했습니다. 성공적으로.


그래, 마찬가지로 2008R2의 iis7.5. 로컬 계정 복잡성 규칙으로 인해 암호를 변경해야했으며 IIS에서도이 암호가 사용 된 것을 몰랐습니다. 이 의견과 다른 사람들의 쿠페로 추적했습니다. 그러나 이것은 가장 구체적입니다.
bytejunkie

4

기본 웹 사이트 관리해야합니다.

1. 기본 웹 사이트-> basicSettings-> connect as에서 올바른 사용자로 변경하십시오.

2. defaultWebSite와 관련된 applicationPool의 Identiy를 변경하십시오.

행운


2

나에게 권한 문제가 아닌 것 같습니다. IIS_IUSRS 계정에 웹 서비스의 모든 것을 완전히 제어하고 이것이 원인인지 확인하십시오. 이 수정은 IIS에서 웹 서비스를 호스팅하는 응용 프로그램 (예 : 실제 '.svc')을 다시 작성하는 것으로 나타났습니다


2

Joomla 관리자 패널에 액세스하려고 할 때 더 커지면 사용자 이름과 비밀번호 문제 만! joomla 데이터베이스에서 jos_user를 업데이트하기 만하면됩니다.

joomla 웹 사이트 디렉토리로 이동하여 블록 노트 또는 노트 패드가 있는 configuration.php 를 열어 joomla 관리자 사이트가 사용하는 데이터베이스 이름을 표시하십시오. 다음과 같은 줄을 찾아야합니다.

public $user = 'joomlauser251';           //MySQL username

내 경우 joomlauser251에는 내 DB 이름입니다.

mysql에 로그인하십시오 :

 mysql -uyourusername -pyourpassword

줌라에 대한 데이터베이스를 선택하십시오.

use joomlauser251;

관리자 비밀번호 변경 :

UPDATE jos_users SET password=MD5(‘NewPassword’) WHERE username=’admin’;

그리고 다시 액세스하도록 재 시도하십시오.

그게 다야 !!!


2

필자의 경우 virtualHost defaults 아래 applicationHost.config에서 이전 도메인 계정 비밀번호에 대한 참조를 찾았습니다.


2

Windows-> System32-> inetsrv-> config에서 "applicationHost.config"파일을 쉽게 찾으십시오. 1. "applicationHost.config"를 다른 파일 이름으로 백업하십시오. 2. "applicationHost.config"파일을 열고 데이터를 지우고 저장하십시오. 3. 브라우저를 열고 url 내부 웹 사이트 호출 완료


2

새로운 전용 사용자 계정을 사용하는 경우 해당 500.19 권한 문제가 발생하기 때문에 해당 계정의 비밀번호가 만료되지 않았는지 확인하는 것도 좋습니다.


1

500.19를 얻었을 때 나는 IIS_IUSRS 을 때 언급 한 web.config 및 프로젝트 폴더에 대한 모든 액세스 권한을 부여했습니다. 이것은 문제를 해결했다.

다음을 통해 권한을 부여 할 수 있습니다.

  1. 폴더 / 파일을 마우스 오른쪽 버튼으로 클릭하십시오
  2. "보안"탭 선택
  3. 사용자 추가 IIS_IUSRS-USRS 앞에서 i를 잊지 말고 USERS에서와 같이 "e"를 쓰지 마십시오.

1

ASP.Net 응용 프로그램은 web.config의 처리기 섹션과 함께 미리 연결되어 제공됩니다. 기본적으로 IIS 내 기능 위임 내에서 읽기 전용으로 설정되어 있습니다. IIS 관리자 살펴보기

1. IIS 관리자로 이동 서버 이름을 클릭하십시오.

2. 관리 섹션으로 이동하여 기능 위임을 클릭하십시오 .

3. readonly 로 설정되어 있는 Handler Mappings 를 선택하십시오 .

4. 값을 읽기 / 쓰기로 변경 하면 문제를 해결할 수 있습니다.


1

이것에 대해 할 말이 하나 더 있습니다. 동일한 HTTP 오류 코드를 사용하면 원래 질문의 설명에 오류 중 하나가 게시되어 있으므로 여전히 여러 가지 다른 오류가 발생할 수 있습니다. 예를 들어 Web.ConfigASP.NET 프로젝트 의 파일을 편집 한 후

오류 코드 0x8007000d

"하나의 <configSections> 요소 만 허용됩니다. 루트 <configuration> 요소의 첫 번째 하위 요소 여야합니다."

그것이 말했듯이, 파일 <configSections>부분 앞에 자신의 XML을 삽입해서는 안됩니다 Web.Config. 의 종료 태그 뒤에 스 니펫을 삽입 한 후 <configSections>제대로 작동했습니다.


1

IIS에 내 웹 사이트의 올바른 경로가 지정되지 않았습니다.


1

내 해결책은

  1. 손상된 폴더를 삭제하십시오.
  2. 그런 다음 폴더를 다시 만드십시오.

IIS를 설치하기 전에 손상된 폴더가 생성 된 것 같습니다. 폴더를 다시 만든 경우 제대로 작동합니다.


1

IIS를 실행하는 컴퓨터에서 WSUS (Windows Server Update Services)를 제거한 후이 오류가 발생했습니다. WSUS를 제거하면 서버의 IIS 구성이 중단되어 같은 서버에 설치된 다른 웹 응용 프로그램을 사용할 수 없게 될 수 있습니다.

여기서 문제에 대한 해결책을 찾았습니다 .


1

ASP.NET Core 웹 사이트의 경우 HttpPlatformHandler 모듈이 설치되어 있지 않은 경우에도이 일반 오류가 발생합니다 . 자세한 내용 은 이 답변 을 참조하십시오.


1

필자의 경우 키 값이 Web.config파일 에서 올바르지 않습니다 .

    <defaultDocument>
        <files>
            <add value="Portal.htm" />
        </files>
    </defaultDocument>

값을 "Portal.html"로 변경하면 효과가있었습니다.


0

Visual Studio 2013에서 2015로 업그레이드 한 후이 오류가 발생했습니다. 다양한 수정을 시도하고 시도한 후 web.config에서 다음을 제거하여 문제를 해결할 수 있음을 발견했습니다.

<staticContent>
    <mimeMap fileExtension=".less" mimeType="text/css" />
</staticContent >

분명히 staticContent가 더 이상 사용되지 않습니까?

출처

편집 1

이러한 종류의 프로그램으로 인해 IIS가 .json 파일을 제공하지 못했습니다. 이 작업을 수행하면 IIS에서 사이트의 MIME 유형에 .json (application / json)을 다시 추가해야합니다. 자세한 내용은 다음과 같습니다. http://www.iis.net/configreference/system.webserver/staticcontent/mimemap

편집 2

내 상황에서 위의 편집 1 솔루션은 일시적으로 만 작동합니다. 재배치하면 항목이 제거됩니다. 그래서 mimeMap XML을로 옮겼습니다 Web.Release.config. 지금은 잘 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.