ISAPI(Internet Server Application Programming Interface) 확장 모듈을 사용해서 특정 URL 또는 특정 확장자(*.jsp, *.do)에 대한 요청이 오면 Tomcat으로 요청을 돌리도록 설정하게 됩니다.
1. 연동 설정에 사용된 소프트웨어는 다음과 같습니다.
모두 64bit 또는 32bit에 맞춰야 합니다.
– Windows 10 64bit
– IIS(Internet Information System)
– JDK 10(7 이상이면 가능)
– Tomcat 8.5.32
– Tomcat Connector 1.2.43(ISAPI 모듈)
2. 기본 소프트웨어 설치하기
– IIS 의 설치는 “Windows 10에 IIS 설치하기“ 를 참조하세요.
– JDK의 설치는 “윈도우에 JDK 8 설치하기“를 참조하세요.
– Tomcat의 설치는 “Windows 10에 Tomcat 설치하기“를 참조하세요.
3. IIS에 ISAPI 설치하기
Windows 기능 켜기/끄기 에서 “ISAPI 필터”와 “ISAPI 확장”을 체크하고 “확인” 버튼을 눌러 설치합니다. (Windows 기능 켜기/끄기의 실행은 IIS 설치 글에서 확인하세요.)
4. Tomcat Connector 설치하기
4.1. http://tomcat.apache.org 사이트 왼쪽의 Download에서 Tomcat Connectors 를 클릭해서 들어갑니다.
4.2. Tomcat Connectors JK 1.2 항목에서 “Binary Releases for selected versions” 를 클릭해서 들어갑니다.
4.3. 바이너리 인덱스 페이지에서 “windows” 를 클릭해서 들어갑니다.
4.4. 윈도우즈 바이너리 페이지에서 “tomcat-connectors-1.2.43-windows-x86_64-iis.zip” 파일을 다운로드 받습니다.
4.5. 다운받은 압축파일의 압축을 풀면 나오는 “isapi_redirect.dll” 파일이 필요한 파일 입니다.
설치는 임의의 위치를 정해서 파일을 복사해 두면 됩니다. 폴더 위치른 다음과 같이 정했습니다.(자신이 원하는 위치에 두면 됩니다.) 여기서는 D:\util 폴더 아래에 Tomcat Connector 폴더, 그 아래 bin 폴더를 만들고 dll 파일을 두었습니다.
D:\util\Tomcat Connector\bin\isapi_redirect.dll
Tomcat Connector 폴더 아래에 그외에 설정파일을 둘 conf 폴더와 로그 파일을 둘 log 폴더를 만들었습니다.
5. Tomcat Connector 설정파일 만들기
바이너리 배포파일내에 설정 파일은 포함되어 있지 않습니다. 커넥터가 어떻게 동작할지 지정하는 설정파일을 만들어야 합니다.
5.1. isapi_redirect.properties 파일을 작성합니다.
D:\util\Tomcat Connector\bin 폴더 아래 생성합니다. 이 파일은 isapi_redirect.dll 파일과 같은 곳에 있어야 합니다. 만약 Tomcat Connector의 설치 위치를 이 글에서와 다르게 했다면 이파일의 위치는 dll 파일과 같은 폴더에 있으면 됩니다. 파일 내용중 #으로 시작하는 라인은 주석(Comment) 입니다.
# IIS가 필터를 찾는 위치 입니다. 나중에 IIS관리자에서 가상디렉토리로 /jakarta 를 만들것입니다.
extension_uri=/jakarta/isapi_redirect.dll
# 로그 파일의 저장 와 로그파일의 이름 입니다. 경로는 절대경로로 기입합니다.
log_file=D:\util\Tomcat Connector\log\isapi_redirect.log
# 로그 레벨 : debug, info, warn, error, trace
log_level=info
# IIS에서 redirect할 서버들의 정보를 지정한 파일입니다. 여러 Tomcat 서버로 부하를 분산할 수 있습니다.
worker_file=D:\util\Tomcat Connector\conf\workers.properties
# Tomcat 서버(Worker)로 요청을 보낼 URI 를 지정하는 파일 입니다.
worker_mount_file=D:\util\Tomcat Connector\conf\uriworkermap.properties
5.2. workers.properties 파일을 작성합니다.
D:\util\Tomcat Connector\conf 폴더 아래 생성합니다. 이 파일에 IIS에 연결될 Tomcat 서버들의 정보를 설정하게 됩니다. 이 글에서는 하나의 Tomcat 서버만을 사용하지만 여러개의 Tomcat 서버를 두고 부하를 분산하는 것도 가능합니다.
# Tomcat 서버를 지정합니다. 콤마로 분리해서 여러개를 지정할 수 있습니다.
worker.list=worker1
# Tomcat과 통신하는 프로토콜을 지정합니다.
worker.worker1.type=ajp13
# Tomcat 서버의 IP 주소 입니다.
worker.worker1.host=localhost
# Tomcat 서버의 ajp13 통신 포트 입니다. Tomcat의 server.xml 에 지정되어 있습니다.
worker.worker1.port=8009
workers.properties 파일의 자세한 설정방법은 “workers.properties configuration“ 를 참조하세요.
5.3. uriworkermap.properties
D:\util\Tomcat Connector\conf 폴더 아래 생성합니다. 특정 URI로 들어온 요청을 Tomcat으로 보내도록 지정합니다.
# 확장자가 jsp인 요청을 Tomcat으로 reidrect 합니다.
/*.jsp=worker1
– uri 패턴은 대소문자를 구분합니다.
– # 으로 시작하는 행은 주석 입니다.
– 패턴과 Worker명 사이의 = 기호 앞과 뒤의 공백은 무시됩니다.
– 패턴 매칭 기호로 ?, *, |, !등을 사용할 수 있습니다.
uriworkmap.properties 파일의 자세한 설정 방법은 “uriworkermap.properties configuration“ 를 참조하세요.
6. IIS에 테스트용 웹사이트 만들기
6.1. IIS관리자에서 왼쪽 트리에서 “사이트”를 클릭하고 화면 오른쪽 위의 작업에서 “웹 사이트 추가…“를 클릭합니다.
6.2. 사이트 정보를 입력합니다.
– 사이트 이름은 “Tomcat IIs 연동” 으로 입력합니다.
– 응용프로그램 이름은 기본값으로 사이트 이름과 같은 풀이 생성 되는데, 여기서는 “선택” 버튼을 클릭하여 DefaultAppPool을 선택했습니다.
– 실제 경로는 설치된 Tomcat의 웹 루트 폴더로 지정했습니다. 여기서는 D:\util\Apache Software Foundation\Tomcat 8.5\webapps\ROOT 입니다. IIS 웹 루트와 연동된 Tomcat의 웹 루트가 반드시 같을 필요는 없습니다.
– 포트는 8090으로 지정했습니다. Tomcat 설치시 웹 포트가 8080으로 설치 했다면 그 포트와 충돌하지 않도록 다른 포트로 지정하면 됩니다. 연동이 완료되면 Tomcat의 웹 포트는 닫아 버려도 상관이 없습니다.
– 호스트 이름은 비워 뒀습니다. 테스트용 개인 PC에 도메인이 없기 때문입니다.
– “웹 사이트 즉시 시작” 에 체크했습니다.
사이트가 생성이 되었습니다.
아직은 Tomcat연동이 완료되지 않아서 jsp 호출을 처리하지 못합니다.
7. IIS에서 Tomcat 연동 설정하기
7.1. ISAPI 및 CGI 제한 설정하기
IIS관리자의 왼쪽 컴퓨터 이름을 클릭하여 가운데 화면에서 “ISAPI 및 CGI 제한“을 더블 클릭합니다.
화면 오른쪽의 “추가…” 를 눌러 제한을 추가합니다.
– ISAPI 또는 CGI 경로 에는 isapi_redirect.dll 을 선택합니다.
– 설명에는 Tomcat 을 입력합니다.(임의로 넣어도 됩니다.)
– 확장 경로 실행 허용에 체크합니다.
7.2. 가상디렉토리 추가
Tomcat IIS 연동 사이트에 마우스 오른쪽 키를 클릭해서 팝업 메뉴에서 “가상 디렉터리 추가…“를 선택합니다.
가상 디렉터리 추가 창에서 다음과 같이 입력합니다.
– 별칭은 jakarta를 입력합니다. isapi_redirect.properties에서 지정한 이름 입니다.
– 실제 경로는 Tomcat Connector의 bin 폴더를 지정합니다.
7.3 ISAPI 필터 설정하기
Tomcat IIS 연동 사이트를 클릭하고 가운데 화면 아이콘중에서 ISAPI 필터를 더블클릭합니다.
화면 오른쪽 위의 “추가…” 버튼을 클릭하여 정보를 입력합니다.
– 필터 이름에 “Tomcat” 을 입력합니다.(임의로 입력해도 됩니다.)
– 실행파일에 isapi_redirect.dll 파일을 지정합니다.
7.4. 처리기 매핑을 설정합니다.
Tomcat IIS 연동 사이트를 클릭하고 가운데 화면 아이콘중에서 처리기 매핑을 더블클릭합니다.
사용 안 함에 있는 ISAPI-dll 을 클릭하고 화면 우측의 “기능 사용 권한 편집…“을 클릭하여 설정을 합니다.
사용권한에서 읽기, 스크립트, 실행에 모두 체크합니다. 기본적으로 읽기와 스크립트에는 체크가 되어 있을 것입니다.
8. 서비스를 재시작합니다.
시작버튼을 눌러 Windows 관리도구 -> 서비스를 실행해서 “World Wide Web Publishing 서비스“를 재시작합니다.
Tomcat 도 시작이 되어 있어야 합니다.
9. 연동 결과 확인
IIS 사이트의 포트인 8090으로 jsp 파일이 서비스 되는 것을 확인할 수 있습니다.
출처: https://offbyone.tistory.com/322 [쉬고 싶은 개발자]