inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

EC2 배포후 구글 로그인 안됨

1460

유요한

작성한 질문수 49

0

스프링부트 REST + OAuth2 + JWT를 사용하고 있는 상황인데

로컬에서는 잘 돌아갑니다.

로컬에서 소셜로그인이 성공하면 OAuth2SuccessHandler에서 바로 JSON으로 반환해주는 형태입니다. 즉, 컨트롤러가 딱히 무슨 역할을 하지 않아도 바로 반환을 해줍니다.

하지만 EC2에 배포하고 구글 개발자 센터, yml에 EC2 퍼블릭을 제대로 입력해주고 제대로 일치하는 것을 확인했고

버튼을 클릭하면 아이디들이 제대로 뜹니다. 하지만 로그인한 결과 로그인할 아이디를 클릭을 하면

Whitelabel Error Page 404페이지가 뜹니다.

그래서 실패했을 때 JSON으로 반환시켜주는 로직을 추가해서 확인한 결과

"error 발생 : ": "[authorization_request_not_found] "

이러한 오류가 발생했습니다.

 

항상 체크해야하는요소

  1. yml 체크함

  2. 구글 개발자 센터 확인함

→ 1, 2번은 일치함

  1. EC2 인스턴스의 보안 그룹이 OAuth2 콜백 URL로 요청을 수신할 수 있도록 올바르게 설정되었는지 확인 → 이거는 어떻게 다른 설정법이 있을까요?

  2. application.yml 또는 application.properties에 설정된 값들이 프로덕션 환경에 맞게 정확히 설정

    이렇게 환경변수를 받아서 ec2 배포시 사용할 수 있도록 설정했는데 추가적으로 또 뭔가를 해줘야 하나요?

  3. 혹시 OAuth2 google을 테스터로 해놓고 http로 해놓으면 ec2 배포시에는 사용하지 못하나요?

 

google 소셜로그인 oauth2 ec2

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

유요한님의 문제는 EC2 환경에서 구글 로그인이 정상적으로 동작하지 않는 상황으로 보입니다. 로컬 환경에서는 문제가 없으나 EC2에 배포 후 Whitelabel Error Page 404가 나타나고, 오류 메시지로 “error 발생 : “: “[authorization_request_not_found] “가 표시된다고 하셨습니다. 이를 해결하기 위해 다음 사항들을 확인해 보시는 것이 좋겠습니다.

  1. EC2 인스턴스의 보안 그룹 설정

    • OAuth2를 사용한 인증은 특정 포트로 들어오는 요청을 받아들여야 합니다. EC2 인스턴스의 보안 그룹 설정에서 OAuth 2.0 콜백 URL과 관련된 포트(대게 HTTP 80, HTTPS 443)가 열려 있는지 확인해야 합니다.
  2. 프로덕션 환경 설정

    • application.yml 또는 application.properties 파일에 설정된 값들이 프로덕션 환경, 특히 EC2 인스턴스에서 올바르게 사용될 수 있도록 환경변수가 정확하게 설정되어 있는지 확인해야 합니다.
  3. HTTPS와 OAuth2 구글 설정

    • 일반적으로 OAuth2는 안전한 연결을 요구합니다. 만약 구글 개발자 콘솔에서 테스터 설정을 http로 해놓았다면, 이는 문제를 일으킬 수 있습니다. EC2 환경에서는 HTTPS를 사용하여 안전한 연결을 구성해야 합니다. 따라서 콜백 URL을 HTTPS로 변경하고 SSL/TLS 설정을 완료해야 할 수도 있습니다.
  4. 클라이언트 ID와 시크릿 값의 확인

    • 클라이언트 ID와 클라이언트 시크릿 그리고 redirect URI가 EC2 환경에서도 정확히 구글 개발자 콘솔에 등록된 정보와 일치하는지 다시 한 번 검토해야 합니다.
  5. 로깅 및 디버깅

    • 추가적으로 상세 로깅을 활성화하여 오류가 발생하는 구체적인 지점과 원인을 파악해 볼 수 있습니다.

OAuth2 관련 설정에 대한 더 자세한 정보는 Spring Security - OAuth2 문서를 참조하시기 바랍니다. 이러한 검토 사항들을 통해 문제를 해결해 나갈 수 있을 것입니다.

pm2 가 설치가안됩니다

0

12

1

인가 코드 발급(프론트 vs 백)

0

32

2

사용하고 계신 WebStorm 관련 질문

0

69

1

수강기간 조금만 연장 부탁드립니다.

0

47

2

카카오 클라이언트 시크릿

0

213

2

aws 인스턴스 삭제 관련 질문

0

93

2

aws에서 msyql,nginx,certbot다 설치하기

0

68

2

[실습] 3. S3를 활용해 Express 서버에 이미지 업로드 기능 구현하기

0

85

2

[실습] 4. RDS에 접속하기

0

94

2

49차시 [실습]3.파라미터 그룹 추가하기

0

80

2

명령어 어디에 있나요?

0

87

3

비전공자도 이해할 수 있는 AWS 입문/실전 강의의 PDF에서 ELB 페이지가 안맞습니다.

0

75

2

영상이 안 나옵니다 ㅠㅠ

0

62

2

카카오 연동설정이 이제 안되는거 같아요

0

199

2

이번 실습은 무료 플랜에서도 가능한가요?

0

115

2

S3 호스팅? Amplify 호스팅?

0

57

1

RDS 파라미터를 만들었는데 추가구성 데이터 옵션에 토글 버튼에 해당 그룹이 안나옵니다. 어떻게 해야하나요?

0

100

2

RDS 엔트포인트 내부 엔드 포인트로 설정하는 법이 있을까요?

0

62

2

보안그룹질문입니다.

0

71

2

이걸 볼려면 리눅스는 알아야 하는군요..

0

104

1

EC2 컴퓨팅 리소스에 연결 vs 연결 안 함

0

84

1

AWS EC2 서버 보안

0

78

2

HTTPS 적용 전인데 HTTPS로 접속이 가능한 이유

0

95

2

CloudFront 생성 시 HTTP와 HTTPS 관련 질문

0

69

2