Port redirect from 80 to 8080 on UBUNTU OS/Amazon Linux
톰켓서비스를 80포트로 운영하고자 하는 경우 보안상 80포트로 운영하는것을 권고하지 않는다. (특히 일반 유저의 경우) 따라서 포트를 80포트로 Redirect해야 하는 경우가 생기는데 이때 Ubuntu 나 Debian 계열의 Systems에서는 CentOS등과는 다르게( 보통 바로 /etc/sysconfig/iptables 에서 바로 설정) 설정 해줘야한다.
다음 커맨드를 참고한다 On the Ubuntu 14.X at AWS image
1. 다음 커맨드를 이용하여 80포트를 모두 8080포트로 포워딩 해준다.
root@usscollab:~# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
>> -A 옵션 대신 -D를 주게되면 적용된 룰을 제거하게된다.
2. 위의 설정을 서버의 재부팅 후에도 지속되도록 하기위하여 다음과 같이 한다.
IPTABLES 룰 파일 설정한다.
root@usscollab:~# sh -c "iptables-save > /etc/iptables.rules"
위에서 설정한 파일을 다음파일을 열고
root@usscollab:~# vi /etc/network/interfaces
아래의 라인을 추가해준다.
pre-up iptables-restore < /etc/iptables.rules
Amazon Linux 에서 다음과 같이 80 포트를 9091로 Forward 하도록 설정하고 설정된 정보를 저장한다.
root@empower-esp:~# iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 9091
root@empower-esp:~# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]