EC2 배포시 구글 소셜 로그인 에러 문제 (with NGINX)
🎬 Intro
EC2 배포시 구글 소셜 로그인 에러가 발생하는 부분을 해결해봅시다.
✅ 문제
- 로컬에서는 동작하던 구글 소셜 로그인이 EC2에 배포하니까 404 에러 및 액세스 요청 거부 발생
✅ 원인
액세스 요청 거부
- 구글 Oauth 2.0 공식 문서에 의하면
리디렉션 URI는 로컬호스트 또는 도메인 이름
만 가능했지만, 승인된 리디렉션 URI에는 로컬호스트만 등록된 상태였습니다.
404 에러
- EC2에 NGINX가 실행중이였고 EC2 퍼블릭 ip4 dns가 NGINX 설정파일에 등록되지 않아, 어플리케이션 쪽으로 리버스 프록시가 되지 않은 상황이였습니다.
✅ 해결 과정
- 구글 api 서비스 사용자 인증 정보의 승인된 리디렉션 URI에 EC2 퍼블릭 ip4 DNS 추가
1
http://ec2-#-##-###-##.ap-northeast-2.compute.amazonaws.com/login/oauth2/code/google
- 스프링 부트 구글 로그인 리디렉션 URI 퍼블릭 ip4 DNS로 수정
1
redirect-uri: http://ec2-#-##-###-##.ap-northeast-2.compute.amazonaws.com/login/oauth2/code/google
- EC2 NGINX 설정 파일에 퍼블릭 ip4 DNS 추가
1 2 3 4 5 6 7 8 9 10 11 12 13
server { listen 80; listen [::]:80; server_name ec2-#-##-###-##.ap-northeast-2.compute.amazonaws.com; root /var/www/html; index index.html; location / { proxy_pass http://127.0.0.1:8080; } }
- EC2 NGINX server_name 길이제한 설정
1
sudo vim /etc/nginx/nginx.conf
1 2 3 4 5
http { # 기존 설정들... server_names_hash_bucket_size 128; }
- EC2 NGINX 설정 테스트 및 재시작
1 2 3 4
# 설정 테스트 sudo nginx -t # 재시작 sudo systemctl restart nginx
This post is licensed under CC BY 4.0 by the author.