목록프로젝트 (5)
초보 개발자의 일기

탄력적 IP 연결하기 도메인을 연결하기 위해 고정된 IP가 필요로 하는데 현재 지금은 고정된 IP가 없다. 고정된 IP를 할당하기 위하여 탄력적 IP를 발급받아 IP를 고정시켜야 한다. 탄력적 IP를 할당받고 탄력적 IP주소를 인스턴스와 연동을 하면 IP가 고정이 된다. 도메인 설정 먼저 사용해야 할 도메인을 가비아에서 돈을 주고 구입을 한다. https://domain.gabia.com/ 가비아: 대한민국 도메인 점유율 1위 대한민국 100만 도메인 등록 업체 domain.gabia.com 구입한 도메인을 가비아에 등록한다. Nginx 설정 이제 우리가 배포한 코드를 화면에 띄워보자 1. Nginx 설치 sudo apt-get install nginx 설치가 완료되면 자동으로 /etc/nginx 아래에..

Github actions과 aws CodeDeploy를 사용하여 코드에 수정사항들이 생기면 build를 다시 하고 자동으로 배포되는 작업을 손쉽게 할 수 있다. 권한 설정 이 것을 하기 위해 github actions와 CodeDeploy가 앞에서 만든 내 s3와 ec2에 접근해서 작업을 할 수 있는 권한을 설정해줘야 한다. -> IAM 설정을 통해 권한 설정을 한다. EC2 접속 전에 생성한 인스턴스에 들어와 SSH 클라이언트를 통해 EC2에 접속한다. 위 코드를 복사하여 터미널에 입력하면 이런 에러를 만나게 되는데 이 경고가 나오는 이유는 잘못된 permission으로 ssh 로그인을 접속하려고 했기 때문이다. 해결법 해결법은 간단한데 .pen 파일의 permission을 private key의 p..

AWS EC2 생성 https://aws.amazon.com 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services aws.amazon.com 에 접속하여 EC2를 생성한다. 1. EC2 생성 인바운드 보안규칙을 설정해야 한다. ssh 22 포트는 자신의 집에서만 접근이 가능하게 집 ip로 설정을 하였고 나머지 80 ,443 포트는 어디에서든 접근이 가능해야 하기 때문에 0.0.0.0/0으로 설정을 하였다. 추가로 ::/0로 설정을 하면 ipv4를 허용하는 것이다. S3 버킷 생성 1. s3 생성 버킷 만들기를 클릭하여 버킷 만들기를 시작한다. 2. 버킷 이름, 리전을 선택한다. 버킷 이름은 고유값으로 설정 후 리전은 ap-northeast-2로 설정을 한다. 3. 퍼블릭 액세스..

AcessToken 하나만을 이용한 인증 방식에는 문제점이 있다. 만일 제 3자에게 탈취당할 경우 보안에 취약하다는 점인데 유효기간을 짧게 하여 새롭게 Token을 받아 계속 인증 상태를 업데이트해야 한다. 이렇게 되면 자주 새로운 토큰을 발급받아야 하기 때문에 불편하다. 그래서 유효시간을 길게 하자니 탈취당할 위험에 노출되어 보안이 약해지게 된다. 이렇게 해서 나온 것이 RefreshToken이다. RefreshToken은 AccessToken과 같은 형태의 JWT이다. 처음에 로그인 성공 시 서버에서 AccessToken과 RefreshToken을 내려주게 되는데 AccessToken이 만료가 되면 RefreshToken을 이용해 새로운 AccessToken을 발급받는 형식으로 계속 로그인 상태를 유..
이번 프로젝트를 진행하면서 AccessToken과 RefreshToken을 이용하여 로그인한 사용자를 구분하고 인증하는 방식을 사용하였다. AccessToken은 localStorage에 저장을 하였고 RefreshToken은 Cookie에 저장을 하였다. 쿠키에 저장하는 방법은 react-cookie 라이브러리를 사용하여 저장을 하였다. import { Cookies } from 'react-cookie'; const cookie = new Cookies(); export const setCookie = (name: string, value: string, option?: any) => { return cookie.set(name, value, { ...option }); }; export const ..