System/CentOS | Ubuntu

[CentOS 6] 80 포트에서 .jsp 페이지 설정

jykim23 2019. 7. 9. 14:57

 

 

결론: iptables를 이용한 포트 포워딩

...더보기

톰켓은 기본적으로 8080 포트를 이용하여 통신을 수행하게 됩니다.
즉 http://192.168.0.1:8080 과 같은 형식으로 접근해야 합니다.

하지만 접근의 편의성을 위해서는 80 포트를 사용하는 것이 더욱 편리할 것입니다.
80 포트를 이용하면 http://192.168.0.1 과 같은 형식으로 접근할 수 있게 됩니다.

톰켓 환경설정( usr / local / tomcat / conf / server.xml ) 파일을 수정하여 80 포트로 접근하게 설정할 수 있으나 아마 정상적으로 동작하지 않습니다.

리눅스나 유닉스는 1024 이하의 포트(well-known port)들은 일반 유저 권한에서 바인딩할 수 없도록 되어 있습니다.

보안에 문제가 생길 가능성을 차단하기 위해서입니다.

톰켓 서버는 구동 시 tomcat 유저 권한으로 구동되게 됩니다. 물론 root 권한으로 구동되게 한다면 80 포트에 별문제 없이 바인딩하여 통신이 가능합니다. 하지만 톰켓 서버가 일반 유저 권한으로 구동되는데는데 이유는 웹을 이용한 해킹을 방지하기 위해서입니다.

tomcat 유저 권한으로 동작하는 톰캣 서버는 공격을 받는다 하더라고 tomcat 유저 권한에 해당하는 부분까지만 접근 가능하기 때문에 root 권한으로 구동되는 것보다는 안전하다고 할 수 있습니다.

이런 문제는 회피하는 가장 좋은 방법은 iptables를 이용한 포트 포워딩 방식을 이용할 수 있습니다.

 

 

방화벽 설정 및 적용

 

# iptables -t nat -A PREROUTING -d 10.0.0.11 -p tcp --dport 80 -j REDIRECT --to-ports 8080
# service iptables save
# service iptables restart

방화벽 설정 및 적용

 

적용된 iptables

리다이렉트 설정된 iptables 


80 포트로 접근한 요청을 리눅스 커널단에서 8080으로 포워딩시켜주게 됩니다.

 

 

 

 

방화벽 확인

 

# service iptables status

포트포워딩 적용된 상태

 

 

결과 비교

설정 전

 

설정 후

 

 

정상적으로 포트 포워딩이 되었으며 tomcat 또한 정상 작동됨을 확인할 수 있습니다.

'System > CentOS | Ubuntu' 카테고리의 다른 글

[CentOS 6] Apache - SSL 설정  (0) 2019.07.10
[CentOS 6] DNS 서버 구축(사설 네트워크)  (1) 2019.07.09
[CentOS 6] APM Setup - Tomcat  (0) 2019.07.09
[CentOS 6] APM Setup - PHP  (1) 2019.07.08
[CentOS 6] APM Setup - Mysql  (0) 2019.07.08