Apache Tomcat 8.5.x 이후 버전부터는 AJP Connector 의 secretRequired
기본값이 true
로 변경되었습니다. 이 기능에 대해서 이해하기 위해서는 secret
지시자의 역할에 대해 알아야 합니다.
secret
이 비밀 키워드를 가진 작업자의 요청 만 수락됩니다. 기본값은 null
입니다. secretRequired
가 명시적으로 false
로 구성 되지 않은 경우 이 속성은 널이 아니며 길이가 0 이 아닌 값으로 지정해야합니다. 이 속성이 널이 아니고 길이가 0이 아닌 값으로 구성된 경우 worker
는 일치하는 값을 제공 해야 합니다. 그렇지 않으면 secretRequired
설정에 관계없이 요청이 거부됩니다.secretRequired
이 속성이 true
인 경우 비밀 속성이 널이 아니고 길이가 0이 아닌 값으로 구성된 경우에만 AJP 커넥터가 시작됩니다. 이 속성 은 AJP 커넥터를 시작하기 위해 비밀 속성을 지정 해야하는지 여부 만 제어합니다. 기본값은 true
입니다. 이 속성은 커넥터가 신뢰할 수 있는 네트워크에서 사용될 때만 false
설정해야 합니다.
즉 secretRequired=true
인 경우 secret
값을 설정해야하며 WEB-WAS간에 서로 secret
에 정의된 값이 일치하는 경우에만 연결을 수락합니다.
AJP Connector 설정에 secret=VALUE
형태의 값을 넣어준다.
<Connector port="8009" secretRequired="true" <- 8.5.x 버전 이후로는 기본값이 true 이므로 생략 가능 secret="itismysecretkey" <- secret 값 설정 protocol="AJP/1.3" redirectPort="8443" />
이렇게 설정 한 후 웹서버의 workers.properties
설정에서 아래와 같이 동일한 secret
값을 설정해주도록 한다.
worker.balancer.balance_workers=node11 worker.node11.reference=worker.template worker.node11.host=127.0.0.1 worker.node11.port=8009 worker.node11.activation=A worker.node11.secret=itismysecretkey <- secret 값 설정