EC2로 배포한 Next.js 프로젝트 포트포워딩하기

이진혁·2023년 2월 7일
0

EC2에서 돌아가고있는 프로젝트를 외부에서 접근하기 위해 가비아에서 도메인(zinukk.shop)을 구입해 입혀놓았다.

그리고 해당 애플리케이션에 가비아에서 구입한 도메인을 통해 접근하려면 위의 사진과 같이 도메인 뒤에 포트(3000)을 붙여야 접속이 가능하다.

하지만 만약 80포트를 3000포트로 포워딩을 하지 않고 zinukk.shop:3000이 아닌 zinukk.shop으로 접속을 시도하면 접속이 불가능하다.

물론 문제는 없지만 포트포워딩을 통해 포트번호를 입력하지 않았을 때 더 편하고 깔끔하게 서버에 요청을 보낼 수 있다.

따라서 지금부터 포트포워딩 작업을 시작해보겠다.

포트번호를 입력하지 않으려면 HTTP 기본 포트인 80번 포트로 요청해야한다.

HTTP 기본 포트 번호인 80번 포트로 서버에 요청을 보냈을 때 배포한 서버에서 설정된 기본포트(3000포트)로 포워딩 되도록 설정한다면 포트번호 입력 없이 요청을 보낼 수 있다.

EC2 인바운드 규칙 편집

EC2 보안그룹으로 이동하자.

인바운드 규칙에 위와 같이 http 80포트를 추가하자.

나는 https로 배포작업을 할 예정이기 때문에 https도 열어놓았다.

터미널

터미널을 통해 본인의 EC2에 접근한 다음 아래의 명령어를 순차적으로 입력한다.

sudo su

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

위와 같이 설정하고 다음 명령어를 통해 iptables의 Chain을 확인할 수 있다.

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

잘 설정된 것을 확인할 수 있다.

자 이제 도메인에 3000없이 입력해보자.

잘 설정되었다!

profile
개발 === 99%의 노력과 1%의 기도

0개의 댓글