포트 포워딩, 에러 해결

jaeyong Lee·2024년 9월 7일
0

트러블 슈팅

목록 보기
2/15
post-thumbnail

20250117 수정)

포드포워딩

포트 포워딩은 예를들면 외부 포트(예: 80번)로 들어온 요청을 내부 포트(예: 8080번)로 연결해주는 기술이다. 이를 통해 외부에서는 지정된 포트만 사용해 접근할 수 있고 깔끔한 url을 제공할 수 있다..

사용 흐름

  1. http 기본 프로토콜인 80포트는 브라우저가 자동으로 생략
  2. 하지만 8080포트는 개발자가 앱 포트번호를 명시적으로 지정해줘서 브라우저 딴에서 생략이 안됨
  3. 따라서 포드 포워딩을 이용해 8080포트를 지워 깔끔한 url을 가능하게 함

※ 포드 포워딩 적용
배포서버(리눅스) cmd창에서 리눅스 명령어

포트 포워딩 문제

포트포워딩 명령어 실패

관리자 명령어로 네트워크 트래픽을 제어하는데 포트 80에서 출발하면 8080으로 redirect하겠다.

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

해결

1.nohup 적용

2.명령어 네트워크 허용

처음 명령어에서는 eth0에서 들어노는 트래픽만 처리해서 에러
이후 모든 네트워크에서 들어오는 트래픽을 처리하도록 수정


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

정리 및 회고

다시 생각해보니, nohup은 포트포워딩 문제와 직접적인 연관은 없었던 것 같다.
굳이 연관성을 찾자면, 애플리케이션이 비정상적으로 종료되고 있었는데, nohup으로 애플리케이션을 안정적으로 실행 상태로 유지했을 가능성이 있다.
실무에서는 도구를 선호한다는 얘기가 있어서 앞으로 포트포워딩을 설정할 때는 iptables 대신 Nginx와 같은 관련 도구를 활용해볼 계획이다.

0개의 댓글