[회고록/trollo] 9일차 : https구현 , 더 좋은 accessToken 처리방법

katsukichi·2021년 5월 4일

회고록

목록 보기
8/16

진짜

https 찾아본다고 엄청 고생했다..

nginx

greenlock?

cert-bot

그리고뭐

let's encrypt 이거

ssl

elb 등등.. 하 진짜 엄청 뭔가 찾아봣는데

다 실패

좌절하던중

그나마 삽질하면서

aws 서비스 자체와 좀 친해진감이있다.

이래놓고 갑자기 지불해야한다고 메일날라오면 손절각이긴하지만..

딱히 막 결제 이런거를 놓치고 막 누른건 없다.


기본은

https

어렵지않다.

첫째

도메인이 있어야한다.

ACM

아마존 썰티피케이트 매니지먼트

인증센터인데

서비스가 좀더 커져서 하나의 인증을 여러 서비스와 소통하고있다 요즘은

하지만 나는일단 아직 쉽게 바라보기로했다.

ACM은 아마존은 도메인이 있으면 인증서를 발급받을수있다.

SSL이라곤 안했다.

하지만

https로 포트포워딩하는데에는 지장이없다.

클라이언트측면에서보자.

  1. S3로 배포함
  2. cloudFront로 전세계 가까운 cdn에 미리 배치해둠으로써 장점살리고 https 사용할수있게해줌.
  3. Route53으로 cloudFront의 주소를 도메인으로 연결해줌
  4. ACM에서 등록한 도메인으로 인증서를 받음
  5. 다시 클라우드프론트로가서 인증서를 등록함.

보안그룹은 항상신경쓰자.

서버측면에서 보자.

  1. ec2로 배포함 (80포트 , http 배포하듯이)
  2. 구매한 도메인으로 ACM으로 인증서를 받고
  3. ELB등록 및 ACM연결
  4. ELB로 route53과 연결시킨다.

네임서버등록은 최대 48시간 이라고하니

안됀다고 생각하지말고, aws는 시간싸움이다.

몇몇 처리에 시간이걸리는것들은 초조해하지말고 기다리자.

그리고 추가로 생각한것은

서버를먼저 만들자.

클라의 .env를 수정하니까

cloudFront부터해서 뭔가 쭉 깨졌다.


나같은경우는

클라이언트 https성공함

서버 https성공함

연결하려고하니까 클라이언트가 요청을 자꾸 잘못보냄

.env수정함 빌드해서 다시등록함

변화가 없음 (여기서 내가잘못한부분이 아마 클라우드프론트가 새로 빌드한파일로 최신화해줄때까지 기다리면되지않았을까? 이런생각도든다..)

s3 삭제 생성
클라우드프론트 삭제 생성
라우트53 삭제생성
별의별짓 다함.

지역변경

acm재발급

후.. 고생했지만 이제 https 쫄지않겠다.


AccessToken을 잘관리하는방법

1분정도의 expire를 주고 로컬스토리지에서 관리한다

위험하더라도 1분이니까 약간 상쇄되는거같다.

리프레시토큰을 쿠키에 저장한다.

https를 활성화시킨다면 리프레시토큰의 보안성은 많이높아진다.

클라이언트는 새로고침 or 액세스토큰의 만료시간 몇초전 ? setTimeout으로 주기적인 리프레시토큰을이용한 액세스토큰 최신화를 한다.

완벽한 보안이라는건 없다 라고얘기하고

결국 https의 쿠키 보안강화 부분에 의존해서 리프레시토큰에 많이 의존하고있다.

accessToken을 대신 1분으로 시간을 많이 짧게주는것이다.

profile
front-back / end developer / Let's be an adaptable person

0개의 댓글