포트 포워딩을 하는 이유
*전제조건
스프링 server.port: 8080 / ubuntu 1.8 환경
EC2 환경에 서버를 배포한 상황에서 서버에 요청을 보내야한다면
아래와 같이 기본 포트(:8080) 를 붙여 서버에 요청을 보내야한다.
물론 좋은 방법이지만 포트번호를 입력하지 않았을 때 더 편하고 깔끔하게 서버에 요청을 보낼 수 있다.
포트번호를 입력하지 않으려면 HTTP 기본 포트인 80번 포트로 요청해야한다.
80번 포트 포워딩
HTTP 기본 포트 번호인 80번 포트로 서버에 요청을 보냈을 때
배포한 서버에서 설정된 기본포트(8080포트)로 포워딩 되도록 설정한다면 포트번호 입력 없이 요청을 보낼 수 있다.
위 설명처럼
"내 서버로 들어오는 요청에서 80 포트로 들어온 요청은 8080 으로 해석하라~" 라고 설정을 해주는 것을 포트 포워딩이라고 부른다.
방법은 아주 간단하다.
AWS 접속 후에 EC2 검색한다.
EC2 좌측 리스트의 "네트워크 및 보안 - 보안 그룹" 을 선택한다.
현재 포트포워딩이 필요한 EC2 환경에 적용된 보안 그룹에 접속하여
인바운드 규칙을 편집해야한다.
우측 하단에 있는 "인바운드 규칙 편집" 을 선택하자.
- 8080(IPv4 0.0.0.0/0) 사용자 지정 TCP
- 80(IPv4 0.0.0.0/0) HTTP
- 80(IPv6 ::/0) HTTP
위의 포트를 인바운드 규칙에 추가한다.
이제 포트포워딩이 끝났으니 80을 입력하면 우리가 배포할 서버의 port인
8080으로 리다이렉트 설정을 해주면 끝이다.
포트 리다이렉트 설정
이번엔 PuTTY를 통해 ubuntu서버에 접속하여 포트 리다이렉트 설정을 해줄 것이다.
일련의 과정을 순서대로 정리했으니 잘 따라해보자
1. 관리자 권한으로 접속
sudo su
입력
2. 포트 리다이렉트 설정
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
입력하여 80번 포트로 접속하면 8080으로 리다이렉트 되도록 포트 리다이렉트 설정
3. 관리자 권한 로그아웃
Ctrl + D 입력
4. 서버 실행
java -jar build파일이름.jar
입력하여 서버 가동
5. 백그라운드에서 서버 가동
PuTTY를 종료해도 백그라운드에서 가동시키려면
nohup java -jar dnd-6th-7-worry-record-service-0.0.1-SNAPSHOT.jar &
입력하여 nohup으로 실행
해당 과정을 거치면 위 사진처럼 포트번호를 입력하지 않아도 요청이 가능하다!
아무런 포트없이 요청을 보냈을 때 주어지는 HTTP의 기본 포트는 80인데
80번 포트로 요청시 8080으로 포워딩 되도록 설정하였기에 가능한 것이다.
'BackEnd > Infra' 카테고리의 다른 글
[AWS] AWS EC2 FTP 클라이언트 연결 (FileZilla) (1) | 2022.04.13 |
---|---|
[AWS] EC2 배포(2) - PuTTY로 AWS EC2 인스턴스 접속 (2) | 2022.04.09 |
[AWS] 스프링부트 AWS Secrets Manager 적용하기! (12) | 2022.03.12 |
[AWS] AWS CLI 설치 및 aws configure 설정법 (4) | 2022.01.11 |
[AWS] Amazon Web Service 회원 가입 하는 법 (4) | 2021.12.29 |