[CI, CD] 배포 관련 포트 포워딩 에러

DEINGVELOP·2022년 9월 15일
0
post-custom-banner

발생한 에러

Github Actions와 Code Deploy, S3, EC2를 활용하여 배포 자동화를 시도했으나, workflow에서 Deploy 파일도 문제 없이 배포되었고, S3에도 파일이 잘 저장되었고, Code Deploy에서도 배포 완료라고 떴다. 문제는, 해당 인스턴스 public IP에 접속해도 ERR_CONNECTION_REFUSED 에러코드와 함께 사이트에 연결할 수 없다는 문구만 뜨는 것이었다.


원인 분석

  1. 우선 페이지에서 검사/네트워크 탭에서 확인해보았지만 내 지식에서는 찾을 수 있는 것이 없었다.
    image
    image

  2. ubuntu 서버에 접속하여 jar 파일을 직접 실행해보려 했더니 현재 파일이 실행되고 있다고는 하다. 따라서 현재 프로세스를 끄고 다시 수동으로 jar 파일을 실행해봤더니... run이 잘 돌아간다. 문제 없이 실행된다.
    image

  3. 이 jar 파일을 ubuntu 말고 내 로컬에서 테스트해봤는데 문제가 없었다.
    image

자. 문제가 무엇일까...!


원인 발견

퍼블릭 IP 주소에 :8080만 붙이면 바로 실행되는 것을 발견했다.


문제 해결

HTTP 기본 번호인 80번 포트로 서버에 요청을 보냈을 때, 8080으로 리다이렉트되도록 포트 리다이렉트를 설정하여 해결하였다.

sudo su     // 관리자 권한으로 접속
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080     // 포트 리다이렉트 설정
(ctrl + D : 관리자 권한 로그아웃)
post-custom-banner

0개의 댓글