CentOS에서 일반 계정으로 톰캣 TCP 80, 443 포트로 서비스

리눅스에선 일반 계정으로 TCP 포트번호 1024 이하를 열 수 없다.

톰캣을 80, 443 포트를 이용해 서비스 하고 싶은 경우, 두 가지 방법이 있는 모양. …한 가지 더 있긴 하다

1. jsvc를 이용한 방법

2. xinetd, iptable 혹은 L4 switch 등에서 포트 포워딩하는 방법

3. root 권한으로 톰캣(./bin/startup.sh)실행 (……해서는 안 되는 짓이다.)

 

jsvc를 이용한 방법의 경우, 아래 과정을 거치게 되는 모양

1. 루트 권한으로 포트 열고

2. 해당 포트로 들어오는 요청을 지정한 was 실행 계정 권한으로 실행해서 결과 되돌리기

ps aux | grep jsvc 해보면 jsvc 프로세스가 root와 tomcat계정(사용자가 지정한)으로 두 개 실행 되어있다.

jsvc 설정 방법(http://www.klawitter.de/tomcat80.html)

1. 톰캣 압축 풀면 bin 디렉토리 밑에 commons-daemon-native.tar.gz 파일이 있음(톰캣 버전별로 이름이 약간씩 다름)

2. 압축 풀고, 압푹 푼 디렉토리로 이동

tar zxvf commons-daemon-native.tar.gz

cd commons-daemon-1.0.7-native-src/unix

./configure –with-java=$JAVA_HOME

make

cp jsvc ../../

cp samples/Tomcat5.sh ../../daemon.sh

3. daemon.sh 를 실행 환경에 맞게 수정

4. ./conf/server.xml 을 환경에 맞게 수정

5. root 권한으로 실행 : 걱정하지 않아도 된다!! 포트(80, 443)만 root 권한으로 열고, jsp 등을 실행하는 프로세스는 daemon.sh에 설정한 계정으로 실행된다!!


게시됨

카테고리

작성자

태그:

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.