Internet Information Server용 Tomcat 커넥터가 작동하지 않습니다.

Internet Information Server용 Tomcat 커넥터가 작동하지 않습니다.

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 구성을 시도했습니다.

  1. isapi매뉴얼의 요청에 따라 디렉토리 에 대한 권한을 부여했습니다 .

    icacls "%TOMCAT_HOME%\isapi" /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)M

    icacls "%TOMCAT_HOME%\isapi\isapi_redirect.dll" /grant "Everyone":RX

  2. 저는 "jakarta"라는 이름의 af**** 가상 디렉터리(이번이 세 번째 또는 네 번째입니다)를 만들고 이후 디렉터리를 가리킵니다(아래 참조). 가상 디렉터리에는 "응용 프로그램 사용자(통과 인증)"로 구성된 "다음으로 연결" 속성이 있습니다.

여기에 이미지 설명을 입력하세요

  1. 핸들러 매핑은 다음과 같이 구성되었습니다.

여기에 이미지 설명을 입력하세요

액세스 요청 제한은 "없음"으로 구성됩니다. 하지만 "실행"을 시도해 보았지만 아무 일도 일어나지 않았습니다.

  1. 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 측에 나타납니다).

관련 정보