CentOS7, apache-tomcat9 포트를 80으로 변경하는 방법

이전 글CentOS7에 tomcat 9 설치 이후에, tomcat 기본 포트인 8080포트를 80번으로 아래와 같이 변경하였다.

server.xml 설정


하지만, tomcat이 80번 포트로 접속되지 않았고, ss 결과 아래처럼 80 포트 listen이 보이지 않는다.

이런저런 확인을 해 본 결과, CentOS 7에서 well known port(1-1024)는 root 권한으로만 binding이 가능하게 되었다는 것을 알게 되었다. tomcat을 80 port로 사용하려면, iptables로 포트포워딩을 해서 사용하거나, 데몬을 well known port로 바인딩 가능하도록 authbind를 사용하여야 한다.

아래는 authbind를 이용하여 tomcat을 80 port로 서비스 가능하도록 설정하는 방법이다.

1. authbind 다운로드 및 설치

2. authbind 80 번 포트 설정.

80번 포트를 사용할 수 있도록 /etc/authbind 아래 포트번호로 화일을 생성하고, 소유권과 퍼미션을 변경해준다.

3. tomcat 설정.

이제, tomcat이 설치된 디렉토리의 bin 디렉토리(여기서는 /opt/tomcat/bin)로 이동하여, serene.sh 화일을 아래 내용으로 생성한다.
탐캣 디렉토리에 setenv.sh 화일을 생성한다.

startup.sh 화일에서 아래 내용을 바꿔준다. 맨 아래 줄의 내용을 주석처리하고, authbind를 이용하도록 설정한다.

4. tomcat 재실행하고 listen 포트를 확인한다.

이제, tomcat이 80번 포트로 실행되고 있음을 볼 수 있다.

* 참고문서
https://blog.webhosting.net/how-to-get-tomcat-running-on-centos-7-2-using-privileged-ports-1024/
https://serverfault.com/questions/889122/how-to-get-tomcat-9-to-work-with-authbind-to-bind-to-port-80

댓글 남기기

Your email address will not be published.

%d 블로거가 이것을 좋아합니다: