Tomcat과 함께 작동하도록 Internet Information Server를 구성하려고 하며 다음 단계를 수행한 후에웹 사이트그것은 작동하지 않습니다.
가장 나쁜 점은 문제가 어디에 있는지 문서화하거나 인식할 방법이 없다는 것입니다. 웹 사이트에 표시된 대로 구성해야 할 단계가 많고 출력은 "정상"이어야 하지만 문제가 어디에 있는지 진단할 방법이 없습니다.
IIS
설치와 함께 제공되는 IIS가 포함된 Windows Server 2012 R2 64비트가 있습니다. 첫 번째 질문: ¿32비트인가요, 64비트인가요??? 이 질문의 나머지 부분에서는 64비트라고 가정하겠습니다.
수코양이
아파치 톰캣 10.0.18. Java 버전 1.8.0_161에서 실행됩니다. 서버는 "로컬 시스템 계정"으로 로그온하여 서비스로 실행되도록 구성됩니다. 이 예에서는 가 에 설치되어 있다고 가정해 보겠습니다 %TOMCAT_HOME%
.
AJP 커넥터는 다음과 같이 구성됩니다.
<Connector protocol="AJP/1.3"
address="0.0.0.0"
port="8009"
secretRequired="false"
xpoweredBy="true"/>
그리고 그것이 작동하는지 확인했습니다.
C:\>netstat -ab | find "8009"
TCP 0.0.0.0:8009 THIS-SERVER:0 LISTENING
TCP [::]:8009 THIS-SERVER:0 LISTENING
Microsoft IIS용 ISAPI 리디렉터
다운로드됨여기에서. 64비트 버전. 아래에 설치됩니다 %TOMCAT_HOME%\isapi
. 구성 파일은 다음과 같습니다.
ìsapi_redirect.properties
:
#
# isapi_redirect.properties
#
extension_uri=/jakarta/isapi_redirect.dll
log_file=[server-home-removed]\\isapi\\isapi_redirect.log
log_level=debug
worker_file=[server-home-removed]\\isapi\\workers.properties
worker_mount_file=[server-home-removed]\\isapi\\uriworkermap.properties
workers.properties
#
# workers.properties
#
worker.list=tomcat01
worker.tomcat01.type=ajp13
worker.tomcat01.host=localhost
worker.tomcat01.port=8009
uriworkermap.properties
#
# uriworkermap.properties
#
/examples/*=tomcat01
/jakarta/*=tomcat01
/pwdReset/*=tomcat01
IIS 구성을 시도했습니다.
isapi
매뉴얼의 요청에 따라 디렉토리 에 대한 권한을 부여했습니다 .icacls "%TOMCAT_HOME%\isapi" /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)M
icacls "%TOMCAT_HOME%\isapi\isapi_redirect.dll" /grant "Everyone":RX
저는 "jakarta"라는 이름의 af**** 가상 디렉터리(이번이 세 번째 또는 네 번째입니다)를 만들고 이후 디렉터리를 가리킵니다(아래 참조). 가상 디렉터리에는 "응용 프로그램 사용자(통과 인증)"로 구성된 "다음으로 연결" 속성이 있습니다.
- 핸들러 매핑은 다음과 같이 구성되었습니다.
액세스 요청 제한은 "없음"으로 구성됩니다. 하지만 "실행"을 시도해 보았지만 아무 일도 일어나지 않았습니다.
- ISAPI 필터 구성:
문제는가상 경로에 연결하려고 할 때 얻은 출력은 32비트 ISAPI 필터를 사용하는 경우 500 오류이고, 64비트 ISAPI 필터를 사용하는 경우 403 오류입니다. 내가 도대체 뭘 잘못하고있는 겁니까??? 그리고 더 중요한 것은 이 클러스터의 다른 부분이 올바른지 진단하고 ISAPI 필터가 작동하는지, Tomcat의 AJP 커넥터가 작동하는지 등을 확인하는 방법이 있습니까???
답변1
해결 : 읽으면커넥터의 업데이트된 참조당신은 몇 가지를 찾을 수 있습니다:
64비트 환경에서는 - 적어도 IIS 7에서는 -사용된 IIS 응용 프로그램 풀에는 "32비트 응용 프로그램 사용"이 "False"로 설정되어 있어야 합니다.. 그렇지 않으면 리디렉터가 호출되지 않고 http 코드 404를 반환합니다. isapi_redirect.dll의 32비트 버전이 대신 작업을 수행할 것이라고 생각한다면 라이브러리가 64비트 IIS에 로드될 수 없기 때문에 http 코드 500을 얻게 됩니다. .
그리고 다시 테스트하기 전에 레지스트리 정보를 작성했습니다. 이제 작동 중입니다(요청이 Tomcat 측에 나타납니다).