[AWS EC2] 오류 - EC2, Jar 실행 후 웹 브라우저에 요청 보내도 응답x

손지민·2024년 1월 4일
0

AWS

목록 보기
13/13
post-thumbnail

개요

EC2에서 Jar 파일 실행을 성공했다.
그 후 웹 브라우저에서 테스트를 해보고자 했으나 실패.
이를 해결하는 과정을 기록해보고자 한다.

1. 문제 상황

  1. '응답하는 데 시간이 너무 오래 걸립니다.' 라는 문구와 함께 실패.
  2. Git Bash 에서 실행한 EC2 - Spring 콘솔에도 아무런 반응 없음. 아예 요청 전달이 안됨.

2. 문제 해결

결론부터 말하면 보안 그룹-인바운드 규칙 편집하여 포트번호 8080 열어서 해결했습니다.

1. 웹 브라우저에 입력할 내용 확인

아래 둘 중 하나 사용하면 됩니다. 보통 퍼블릭 IPv4 DNS 사용합니다.

  • http:{퍼블릭 IPv4 DNS}:8080/
  • http:{퍼블릭 IPv4 주소}:8080/

2. 보안 그룹 및 포트 설정 확인

보안 그룹 설정-인바운드 규칙 편집-사용자 지정TCP/8080 포트/Anywhere-Ipv4 추가

보안 그룹 설정에서 8080 포트에 대한 인바운드 규칙이 허용되어 있는지 확인해야합니다.

HTTP의 기본 포트 번호는 80입니다. 따라서 일반적인 웹 브라우징이나 웹 서버로의 기본 HTTP 요청은 포트 80을 사용합니다. 그러나 특정한 상황에서는 포트를 변경하여 사용할 수 있습니다.

Spring Boot 애플리케이션의 경우, 내장 웹 서버가 기본적으로 8080 포트를 사용합니다.
따라서 Spring Boot 애플리케이션을 실행할 때는 보통 http://yourdomain.com:8080/ 와 같이 포트 번호를 명시하여 접속합니다.

EC2 인바운드 규칙에서 기본적으로 HTTP를 지원하는 포트는 80이지만, 여러분이 특정 포트(예: 8080)로 애플리케이션을 실행하고 있다면 해당 포트로 인바운드 규칙을 추가해야 합니다. 여러분이 수동으로 추가한 TCP/8080/anywhere IPv4 규칙이 올바르게 동작한다면, 해당 포트를 통해 애플리케이션에 접근할 수 있게 됩니다.

3. 그 외 확인 할 사항

  • ChatGPT 가 그 외 확인 사항을 알려줬으나 저는 포트 8080을 여니까 해결되었습니다.
  1. 보안 그룹 및 포트 설정: 보안 그룹 설정에서 8080 포트에 대한 인바운드 규칙이 허용되어 있는지 확인하세요.

  2. 애플리케이션 로그: EC2 인스턴스에서 실행 중인 애플리케이션의 로그를 확인하여 어떠한 오류 메시지나 예외가 있는지 확인하세요. 이는 주로 Spring Boot 애플리케이션의 로그 파일에 기록됩니다.

  3. EC2 인스턴스 상태: EC2 콘솔에서 인스턴스의 상태 및 이벤트를 확인하여 문제가 없는지 확인하세요.

  4. 보안 문제: 보안 그룹 및 네트워크 ACL이 문제를 일으키고 있는지 확인하세요.

  5. Nginx 또는 Apache 등의 프록시 설정: 애플리케이션을 실행할 때 프록시 서버를 사용하는 경우, 프록시 서버의 설정도 확인해야 합니다.

2. 실행

  1. Jar 파일 실행
$ sudo java -jar {JAR 파일 이름}.jar
  1. 웹 브라우저에 아래 주소를 입력하면 확인 완료
* http:{퍼블릭 IPv4 DNS}:8080/
* http:{퍼블릭 IPv4 주소}:8080/
profile
Developer

0개의 댓글