[개발] 프로그램 지식

[AWS] Elastic Beanstalk에 Spring boot 서버 배포 502 Bad Gateway, nginx 에러 해결방법

  • -
반응형

502 Bad Gateway 오류 해결 방법: Nginx와 애플리케이션 포트 불일치

 

문제상황 :  Elastic Beanstalk에 Spring boot 서버 배포 후 URL 접근 시  502 Bad Gateway, nginx 에러

 

 

AWS에 애플리케이션을 배포한 후 "502 Bad Gateway" 오류가 발생하는 경우, 이 가이드를 통해 문제를 파악하고 해결할 수 있습니다. 이 오류의 일반적인 원인 중 하나는 Nginx와 애플리케이션 서버 간의 포트 불일치입니다.

 

 

 

 

문제 요약

이 상황에서는 Nginx 에러 로그에 다음과 같은 내용이 표시됩니다:

connect() failed (111: Connection refused) while connecting to upstream, client: 61.101.67.17, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/"

한편 애플리케이션 로그에서는 포트 8080으로 초기화되었다고 표시됩니다:

Tomcat initialized with port 8080 (http)

 

 

 

 

 

 

원인

이 문제는 Nginx가 애플리케이션 서버에 포트 5000으로 연결하려고 하지만, 실제 애플리케이션은 포트 8080에서 실행 중이기 때문에 발생합니다. 이러한 포트 불일치로 인해 "Connection refused" 오류가 발생하게 됩니다.

 

 

 

 

 

해결 방법

이 문제를 해결하려면 애플리케이션이 Nginx에서 기대하는 올바른 포트(이 경우 5000)에서 실행되도록 구성해야 합니다. 아래 단계를 따르세요:

 

 

 

 

1단계: 애플리케이션의 포트 수정

application.properties 파일을 편집하여 다음 줄을 추가하세요:

server.port=5000
    

이를 통해 애플리케이션 서버를 포트 5000에서 실행하도록 설정합니다.

 

 

 

2단계: 애플리케이션 재배포

application.properties 파일에 변경 사항을 저장한 후 애플리케이션을 재배포하세요. 이제 Nginx가 애플리케이션 서버와 성공적으로 통신할 수 있을 것입니다.

 

 

 

 

결론

Nginx 뒤에서 애플리케이션을 배포할 때, Nginx와 애플리케이션 서버가 동일한 포트를 사용하도록 설정하는 것이 중요합니다. 위 단계를 따르면 포트 불일치로 인한 "502 Bad Gateway" 오류를 빠르게 해결할 수 있습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.