gi_dor

AWS EC2 포트 포워딩 본문

AWS/CI CD

AWS EC2 포트 포워딩

기돌 2024. 6. 14. 22:17
728x90

포트포워딩을 하는 이유


EC2 환경에서 프로젝트를 배포한 상황에서 서버에 요청을 보내면 아래 처럼
기본포트 :8080  을 붙여 서버에 요청을 보낸다

navser.com:8080 이런느낌

이제는 더 편하고 깔끔하게 서버에 요청을 보내기 위해
포트번호를 입력하지 않고 HTTP 기본 포트인 80번 포트를 요청한다

 

80번 포트포워딩


HTTP 기본 포트번호80번으로 서버에 요청을 보내면
배포한 서버에서 설정된 기본 포트 8080 으로 포워딩 되도록 설정해 포트 번호 입력 없이 요청을 보낼 수 있다

서버에 들어오는 요청에서 80 포트로 들어오면 8080으로 해석해 

 

EC2 인스턴스의 보안그룹으로 들어와 인바운드 규칙을 편집

8080(IPv4 0.0.0.0/0) 사용자 지정 TCP
80(IPv4 0.0.0.0/0) HTTP
80(IPv6 ::/0) HTTP 

 

 

포트 리다이렉트 설정


0. 현재 포트 보기

sudo iptables -t nat -L PREROUTING

 

1. 포트 리다이렉트 설정

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

첫번째 명령어 eth0 네트워크 인터페이스로 들어오는 80 포트의 요청을 8080으로 리다이렉트

두번째 명령어는 네트워크 인터페이스 제한없이 모든 요청에 대한 리다이렉트

세번째 명령어 exc0 네트워크 인터페이스로 들어오는 80 포트의 요청을 8080 리다이렉트 허용한다 

EC2 네트워크 인터페이스가 예전엔 eth0 인데 현재 enx0을 사용한다고 한다 (친구 왈)
첫번째 명령어 eth0에 해당하는 요청만 리다이렉트를 허용하기에 안되던거였다


포트 설정 삭제 이후 다시 재설정

// 모두삭제
sudo iptables -t nat -F

// 조회
sudo iptables -t nat -L PREROUTING

// 설정
sudo iptables -t nat -A PREROUTING -i enX0 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

3.포트 포워딩 확인

sudo iptables -t nat -L --line-numbers

TCP(80포트) 로 접속 시 8080으로 리다이렉팅

3. 서버실행

java -jar buil파일 이름.jar

 

 

 

80 접속

 

8080 접속

728x90