본문 바로가기
AWS

[AWS] API Gateway를 활용하여 HTTPS 적용하기

by 붕어사랑 티스토리 2022. 11. 2.
반응형

지난번에 Route53 도메인구입 + ACM + 로드밸런서 조합으로 https 적용하여 서버 배포를 하였습니다.

관련 후기는 아래 참고...

https://lucky516.tistory.com/m/228

 

[AWS] AWS 서버 배포 + HTTPS 적용 간단한 이해

자세한 내용은 나와 있지 않고 큰그림 수준에서 정리하는 내용입니다. 세부적인 내용을 찾으시는거라면 뒤로가기 회사에서 내부적으로 테스트하던 개발서버를 직접 배포할 일이 생겼습니다.

lucky516.tistory.com

 

 

 

이번에는 훨씬 쉬운 방법으로 배포된 서버에 HTTPS를 적용해 보겠습니다. 바로 AWS의 API Gateway를 이용하는것 인데요.

 

API Gateway는 쉽게말하면 서버 맨 앞에 문짝 하나 놓는다고 생각하시면 됩니다. nginx나 아파치랑 비슷한 역할을 하네요.

그리고 이 문짝이 https로 접속이 되어... 내 EC2 인스턴스에 리다이렉션만 시켜주면 https 적용을 할 수 있습니다.

 

 

 

본격적으로 구축방법에 대하여 알아보겠습니다

 

 

 

1. API Gateway 생성

먼저 API Gateway 서비스에 접속합니다.

 

 

이름을 입력해주시고... 다음,다음,다음,생성 이렇게 쭉쭉 넘어가줍시다.

 

그럼 보시다시피 https가 적용된 링크가 생성된걸 볼 수 있습니다.

 

링크를 타고 들어가보면 아래처럼 텅비어있네요

 

 

 

 

2. 나의 EC2인스턴스에 리다이렉션 해주기

자 게이트웨이를 생성했으니 이제 우리의 백엔드 서버를 게이트웨이에 물려줍시다!

 

좌측을 보시면 경로 탭이 있습니다. 영어로는 Route겠네요. 번역을 경로라 하니 조금 어색하군요...

그리고 Create 버튼을 눌러줍니다

 

여기서 /{proxy+} 를 입력해줍시다. {proxy+}를 반드시 입력해주셔야 / 이후의 경로들에게도 리다이렉션이 됩니다

참고 : https://aws.amazon.com/ko/blogs/korea/api-gateway-update-new-features-simplify-api-development/

 

Route를 생성하셨다면 좌측에 통합을 눌러줍니다.

 

 

 

 

들어가셔서 통합대상을 HTTP URI로 설정하시고 URL에 나의 EC2인스턴스 서버 주소를 물려줍니다.

여기서 또하나 중요한것, {Proxy}를 꼭 적어주세요.

 

http://내백엔드주소:포트번호/{proxy}

 

 

그럼 HTTPS가 적용되었습니다!

 

 

도메인 구입도 안하고 바로 되니 너무 좋군요

 

 

 

여담으로 https 적용하시 포트번호가 443인것으로 보이네요.. 80 하니 적요이 안되넹 ㅠㅠ

 

 

 

 

Nginx 적용시 오류 해결방법

가끔 nginx에 url을 적으면 nginx가 실행이 안되는 경우가 있습니다.

문제의 원인은 api gateway의 url 이름이 너무 길어서 생기는 문제입니다.

 

/etc/nginx/nginx.conf 의 설정파일을 열어 서버네임 버킷사이즈를 128로 올리면 해결됩니다.

반응형

댓글