2021. 2. 12. 09:57

IIS와 Tomcat 연동시 오류 Java/Apache Tomcat2021. 2. 12. 09:57

 

https://offbyone.tistory.com/322

 

Windows 10에서 Tomcat과 IIS 연동하기

개발 및 테스트용으로 Windows 10 64bit에 IIS와 Tomcat을 설치하고 연동을 해보겠습니다. IIS와 Tomcat을 연동한다는 말은 웹서버로 IIS를 사용하고, Servlet/Jsp 에 대한 요청은 Tomcat이 처리하도록 한다는 뜻

offbyone.tistory.com

위 블로그를 보고 그대로 따라했는데 아래와 같은 에러가 발생함.

 

HTTP 오류 500.0 - Internal Server Error
ISAPI 필터 "C:\Tomcat8.5\connectors\bin\isapi_redirect.dll"에 대한 LoadLibraryEx 호출이 실패했습니다.

가능성이 높은 원인:
IIS에서 요청을 받았지만 요청을 처리하는 동안 내부 오류가 발생했습니다. 이 오류의 근본 원인은 요청을 처리하는 모듈이 어떤 모듈인지 그리고 이 오류가 발생했을 때 작업자 프로세스에서 어떤 일이 발생했는지에 따라 달라집니다.
IIS에서 웹 사이트 또는 응용 프로그램의 web.config 파일에 액세스할 수 없습니다. NTFS 권한이 잘못 설정된 경우 이 오류가 발생할 수 있습니다.
IIS에서 웹 사이트 또는 응용 프로그램의 구성을 처리할 수 없습니다.
인증된 사용자가 이 DLL을 사용할 권한을 가지고 있지 않습니다.
요청이 관리되는 처리기에 매핑되어 있지만 .NET 확장성 기능이 설치되어 있지 않습니다.

가능한 해결 방법:
web.config 파일의 NTFS 권한이 올바르며 웹 서버의 시스템 계정에 대한 액세스를 허용하는지 확인하십시오.
이벤트 로그를 확인하여 다른 추가 정보가 로깅되어 있는지 알아보십시오.
DLL에 대한 사용 권한을 확인하십시오.
요청이 관리되는 처리기에 매핑되어 있는 경우 .NET 확장성 기능을 설치하십시오.
실패한 요청에서 이 HTTP 상태 코드를 추적하는 추적 규칙을 만드십시오. 실패한 요청에 대한 추적 규칙을 만드는 방법을 자세하게 보려면 여기를 클릭하십시오.

자세한 오류 정보:
모듈 IIS Web Core
알림 알 수 없음
처리기 StaticFile
오류 코드 0x80070005

요청한 URL http://localhost:80/index.jsp
실제 경로 C:\TOMCAT\webapps\ROOT\index.jsp
로그온 방법 아직 결정되지 않음
로그온 사용자 아직 결정되지 않음
요청 추적 디렉터리 C:\inetpub\logs\FailedReqLogFiles

 

 

 

혹시 isapi_redirect.dll 파일에 대한 접근 권한이 없어서 그런가 해서

Everyone에 파일 읽기,실행 권한을 줬더니 에러 메세지가 아래와 같이 바뀌었음.

 

HTTP 오류 500.0 - Internal Server Error
내부 서버 오류가 발생했기 때문에 페이지를 표시할 수 없습니다.

가능성이 높은 원인:
IIS에서 요청을 받았지만 요청을 처리하는 동안 내부 오류가 발생했습니다. 이 오류의 근본 원인은 요청을 처리하는 모듈이 어떤 모듈인지 그리고 이 오류가 발생했을 때 작업자 프로세스에서 어떤 일이 발생했는지에 따라 달라집니다.
IIS에서 웹 사이트 또는 응용 프로그램의 web.config 파일에 액세스할 수 없습니다. NTFS 권한이 잘못 설정된 경우 이 오류가 발생할 수 있습니다.
IIS에서 웹 사이트 또는 응용 프로그램의 구성을 처리할 수 없습니다.
인증된 사용자가 이 DLL을 사용할 권한을 가지고 있지 않습니다.
요청이 관리되는 처리기에 매핑되어 있지만 .NET 확장성 기능이 설치되어 있지 않습니다.

가능한 해결 방법:
web.config 파일의 NTFS 권한이 올바르며 웹 서버의 시스템 계정에 대한 액세스를 허용하는지 확인하십시오.
이벤트 로그를 확인하여 다른 추가 정보가 로깅되어 있는지 알아보십시오.
DLL에 대한 사용 권한을 확인하십시오.
요청이 관리되는 처리기에 매핑되어 있는 경우 .NET 확장성 기능을 설치하십시오.
실패한 요청에서 이 HTTP 상태 코드를 추적하는 추적 규칙을 만드십시오. 실패한 요청에 대한 추적 규칙을 만드는 방법을 자세하게 보려면 여기를 클릭하십시오.

자세한 오류 정보:
모듈 IsapiFilterModule
알림 AuthenticateRequest
처리기 StaticFile
오류 코드 0x80070001

요청한 URL http://localhost:80/index.jsp
실제 경로 C:\TOMCAT\webapps\ROOT\index.jsp
로그온 방법 익명
로그온 사용자 익명
요청 추적 디렉터리 C:\inetpub\logs\FailedReqLogFiles

 

 

한참을 헤맸는데 결국 답은 apache.org에 있었음

 

https://tomcat.apache.org/connectors-doc/webserver_howto/iis.html

 

The Apache Tomcat Connectors - Web Server HowTo (1.2.48) - ISAPI redirector for Micrsoft IIS HowTo

If your webiste is very busy (more than 100 requests/second, or more than 100 simultaneous client connections), it might sometimes be desirable to have IIS serve static content (html, gif, jpeg etc.) directly, even if these files are part of a context serv

tomcat.apache.org

 

icacls "C:\Program Files\Apache Software Foundation\Tomcat 9.0\isapi" /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)M

icacls "C:\Program Files\Apache Software Foundation\Tomcat 9.0\isapi\isapi_redirect.dll" /grant "Everyone":RX

폴더 권한 부여내용 참조함.

 

 

 

 

 

 

윈도우즈 GUI에서 부여함

폴더 우클릭 > 속성 > 보안탭 > 편집 > 추가 > 유저명 입력 

 

Connectors 폴더, "IIS APPPOOL\DefaultAppPool" 유저, 수정권한 부여

 

 

 

isapi_redirect.dll 파일, Everyone 유저, 읽기 및 실행 권한 부여

 

 

 

 

IIS 재시작후 다시 접속해보니 잘됨

 

 

'Java > Apache Tomcat' 카테고리의 다른 글

tomcat IPv4 셋팅  (0) 2023.07.25
Tomcat setenv.bat  (0) 2022.02.26
Customizing Tomcat Directory Listings  (0) 2022.02.19
Apache HTTP Server vs Apache Tomcat  (0) 2014.03.15
:
Posted by 정규식