데비안에서 아파치 & 톰캣 서버 운영시 보안 업데이트 할때마다 난감하네요.

emptynote의 이미지

한동안 비동기 송수신 관련 골치 아픈 문제로 그것을 해결할 방법을 찾아 버전업을 해서

집에서 돌리고 있는 데비안 아파치 & 톰캣 서버에 올려서 잘 돌아가는지 테스트하고자 해서

모처럼 보안 업데이트 수행후 짠하고 웹 브라우저로 보았는데

"The server is temporarily unable to service your request due to maintenance downtime or capacity problems" 라는 에러가 나오네요.

설정 변경한것 없는데도 생긴 문제라 급하게 해결 방법을 찾아 보았습니다.

그래서 아래 참고 주소를 통해 얻은 방법으로 해결을 하긴 했지만

이게 왜 그런건지 당체 이해가 안가네요.

매번 보안등의 이유로 데비안 업데이트할때마다 이런일을 겪으니 힘드네요.

혼자 개발하다 보니 코어에 해당되는 내용에 집중하여 개발하기 보단

개발 환경 구축하는것에 더 많은 시간을 소비하게 되네요.

그래도 회사에서나 가능한 RPC 기반 프레임워크를 오픈소스로 만들었다는 자부심에 힘을 내 봅니다.

------------
참고 주소 : https://bono915.tistory.com/entry/Tomcat-Apache-Service-Unavailable-error-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95

김정균의 이미지

그래서 changelog 를 보는 거죠. 괜히 있는게 아닙니다.

emptynote의 이미지

아래 톰캣 changelog 를 보니 대충 이런 이유가 아닌갑니다.

2가지를 AJP 에 추가했는데

(1) address="0.0.0.0"

(2) secretRequired="false"

이것들 모두 보안때문에 변경된거로

아파치와 톰캣 연결을 담당하는 모듈 AJP 와 관련된 옵션인데요.

address 속성은 클라이언트측 아이피 즉 아파치 주소를 말하고 같고 지정 안하면

디폴트 값으로 루프백, 즉 로컬주소를 가져는데

아파치 주소는 172.x.x.x 이기때문에 연결 두절된것으로 추정합니다.

그래서 묵시적으로 모든 클라이언트 아이피 허용을 뜻하는 0.0.0.0 으로 바꾼것 같습니다.

secretRequired 속성값은 SSL 와 같은 보안 접속을 뜻하는것 같구요.

미지정하면 true 를 가지니 false 로 한것 같습니다.

잘못된점이 있다면 말씀해 바로잡아 주세요.

----------- 참고 주소 : https://tomcat.apache.org/tomcat-8.5-doc/changelog.html
Update: Change the default bind address for the AJP/1.3 connector to be the loopback address. (markt)
Add: Rename the requiredSecret attribute of the AJP/1.3 Connector to secret and add a new attribute secretRequired that defaults to true. When secretRequired is true the AJP/1.3 Connector will not start unless the secret attribute is configured to a non-null, non-zero length String. (markt)