티스토리 뷰

* 운영체제에서 실행되는 하나의 Tomcat 서비스에는 1개 이상의 인스턴스들을 실행할 수 있는데 각 인스턴스들은 http://127.0.0.1:8080/appName 과 같은 URL을 통해 요청을 수행한다.


* :8080은 Tomcat이 HTTP 서비스를 수행 중인 포트 번호를 의미하고 /appName 부분은 접속할 인스턴스의 Path명을 의미한다. Path명 없이 접속하면 / 인스턴스로 접속된다.(애플리케이션을 ROOT.war 파일명으로 업로드하면 / 인스턴스로 접속된다.)


* :8080과 같은 포트 번호를 접속할 때마다 URL에 입력하는 것은 번거로운 작업이기 때문에 생략하는 방법을 조사해봤다.


* 가장 손쉬운 방법은 HTTP 프로토콜의 기본 포트인 80으로 리스닝하도록 Tomcat의 설정을 변경하는 것이다. 두번째 방법은 Tomcat 앞에 ApacheReverse Proxy로 두는 것으로 앞의 방법보다는 복잡하지만 자세한 설정이 가능하다.


* 포트 번호를 80으로 바꾸는 방법 자체는 쉽지만 리눅스 운영체제에서는 1024 미만의 포트 사용은 root 권한에게만 허용하는 제약에 걸린다. 제약을 해결하기 위한 가장 쉬운 방법은 80 포트에 대한 요청이 들어오면 8080 포트로 리다이렉트하도록 iptables의 설정을 변경하는 것이다.

# sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080


* iptables 설정을 운영체제 부팅시마다 적용하기 위해 /etc/rc.local 파일에 위 명령을 추가한다.

# vi /etc/rc.local

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080


<참고자료>

How to Start Tomcat on Port 80 without Root Privileges on Linux (by Mihail Stoynov)

http://mihail.stoynov.com/2011/04/04/howto-start-tomcat-on-port-80-without-root-privileges/


How to Setup Apache Forwarding to Tomcat (Run Tomcat on Port 80) (by Looply)

http://blog.eventloud.com/2011/04/20/how-to-setup-apache-forwarding-to-tomcat-run-tomcat-on-port-80/



TAG
,
댓글
댓글쓰기 폼