AWS와 VSCode를 연결하여 SSH로 접속할 수 있게 됐습니다. 이제 기본 설정을 해보겠습니다. 패키지 관리자를 업데이트 합니다. 그다음 테스트해보기 위해서 nginx를 설치합니다. 그 후에 바로 AWS 인스턴스의 아이피로 접속하려고 하는데 접속이 바로 가능하지 않을 것입니다. 그래서 AWS EC2의 인스턴스로 들어갑니다. 그 다음 보안탭에 들어가서 인바운드 규칙을 추가해주도록 합니다. nginx는 80번 포트를 사용하는데, 80번 포트에 대한 규칙이 없었기 때문입니다. 보안 탭에 있는 보안 그룹을 눌러서 이동합니다. 인바운드 규칙 편집을 눌러줍니다. 규칙 추가를 누른 후에 HTTP를 선택해줍니다. 이제 HTTP 프로토콜로 AWS 인스턴스의 아이피로 접속하면 NGINX 웹 서버로 접속할 수 있습니다...
Omuk
AWS로 배포를 해보려고 합니다. 일단 AWS에서 EC2를 사용하겠습니다. AWS에 로그인한 후에 서비스-컴퓨팅-EC2로 접근합니다. 그다음 좌측 네비게이션에서 인스턴스를 클릭합니다. 여기서 인스턴스 시작을 누릅니다. 이전에 실습한 강의가 있어서 저는 하나가 이미 있습니다. 인스턴스 이름을 작성하고 OS이미지는 우분투를 사용하겠습니다. 키페어도 사용하고 싶은 대로 만듭니다. 인스턴스를 생성하면 각종 IP 주소가 나옵니다. 이 퍼블릭 IP로 접근할 수도 있지만 고정된 아이피 값이 아니기 때문에 고정된 아이피를 생성해주는 것이 편합니다. 다시 좌측에서 탄력적 IP를 선택합니다. 우측 상단 탄력적 IP 주소 할당을 눌러서 기본 세팅대로 할당을 받습니다. 만든 후에는 해당 아이피 주소를 눌러서 작업에 있는 탄력..
부가적인 기능은 나중에 작성해보기로 하고, 일단 배포를 실습해보려고 합니다. 배포 환경 설정 일단 Express에 사용한 일부 미들웨어들을 배포용으로 사용하기 위해서 설정을 변경합니다. 1. morgan morgan을 노드 환경에 따라 개발용, 배포용으로 나눠서 사용하겠습니다. 아래와 같이 morgan 사용 코드를 변경해줍니다. if (process.env.NODE_ENV === "production") { app.use(morgan("combined")); } else { app.use(morgan("dev")); } 2. express-session 쿠키에 대한 설정도 일부 수정합니다. 일단 세션을 레디스에 저장하기 때문에 레디스에 대해서도 수정하겠습니다. 매번 온프레미스에서 레디스를 사용하는 것보다..
권한 미들웨어 로그인을 하려고 할 때, 이미 로그인 된 상태라면 다시 로그인 할 필요가 없습니다. 마찬가지로 회원가입도 필요가 없습니다. 그렇기 때문에 로그아웃이 된 상태에서만 요청이 가능하도록 구현해야 합니다. 반대로, 로그인한 상태여야 로그아웃을 할 수 있도록 해야 합니다. 그래서 이러한 조건을 충족시키기 위해서 권한이 있는지 없는지 체크할 필요가 있습니다. 그래서 해당 라우트로 특정 요청이 들어올 때 미들웨어를 거치도록 합니다. 루드 디렉터리에서 middlewares 폴더를 생성하고 그 폴더에서 authCheck.js 파일을 만듭니다. 그리고 두 가지 미들웨어를 export 해줍니다. export function isLoggedIn(req, res, next) { if (req.isAuthentic..