본문 바로가기

개발 학습/백엔드6

로컬환경에서 CA 인증과 HTTPS 서버열기 https에는 인증서라는 것이 있다. 브라우저는 접속시 서버로 부터 응답을 받게 되는데 이 응답에는 인증서가 있고 인증서는 발급한 CA정보가 있으며 인증된 CA가 아닌 곳에서 발급한 인증서라면 크롬에서 자주보이는 아래와 같은 화면을 볼 수 있다. 이렇게 브라우저는 인증서의 도메인과 데이터를 제공한 도메인을 비교해 중간자 공격을 감지하게 된다. 여기서 CA란 공인인증기관을 말한다. 우리는 서버를 만들어볼 것이고 서버는 CA가 될 조건을 갖춰서 정식 CA가 될 순없으므로 임시로 CA가 되도록 하고 인증서를 발급해 클라이언트가 접속하면 인증서를 보내보자. mkcert라는 프로그램을 이용하여 로컬환경 즉 내가 만드는 서버에서도 신뢰하는 인증서를 만들 수 있다. 우분투 경우 아래 명령어로 설치를 시작해보자 $ s.. 2022. 6. 28.
실 코딩 연습 SERVER 1. 가입을 할시 액세스 토큰생성에 필요한 데이터(DB와 req로 받은 사용자유저를 비교하여 일치하는 컬럼이 있는지)에 대해 패스워드등 민감한 정보는 Delete한뒤 액세스토큰생성을 해준다. 2. 쿠키로 'jwt'라는 이름으로 시작하는액세스 토큰을 보낸다. CLIENT  1. 요청이 완료되면 다시 특정 path로 되돌아가기 2021. 11. 5.
S2: Request query.? 와 params.id? Request(req)의 query *localhost.com/flight ?depature_times 는 request.query.depature_times로 들어온다 Request(req)의 params Router에서 지정한 고유 id를 확인한다. *이때 flight/af6fa55c-da65-47dd-af23-578fdba40bed의 af6fa55c-da65-47dd-af23-578fdba40bed는 request.params.id로 들어온다. console.log 대신 res로 보내어 확인하는법 2021. 10. 13.
S2: Express 사용하여 분기점 라우팅 * Express의 라우터를 활용하면 아래와 같이 직관적인 코드를 작성할 수 있습니다. * $ npm install express --save 설치 1. 설치된 express를 불러온뒤 http가 아닌 app에 적용시킨다. 2. PORT와 ip는 동일하게 위치한다. 3. 처음 메소드로 들어올것은 OPTIONS이다 app.options(소문자)를 통해 '/upper'가 url로 들어올시 작동하는 구문을 작성한다. 참조 : https://expressjs.com/ko/starter/hello-world.html 2021. 10. 12.
S2: Nodemon과 inspect디버깅 Nodemon 설치후 node 또는 nodemon + --inspect를 통해 console.log의 확인을 손쉽게 할수 있다. --inspect-brk 를 추가하면 실행되자마자 바로 디버깅에 들어갈 수 있다. 2021. 10. 12.
S2: CORS와 클라이언트-서버간 요청/응답 1. CORS 처리 Cors 변수 선언을 통해 허락된 조건들만 메소드요청을 보낼수 있도록 하였다. * Origin은 요청하는 도메인 또는 주소이다. " * "으로 처리할시 모든 가능한 주소를 포함한다. Cors에 의해 처음 OPTIONS이라는 메소드가 들어와 조건에 맞는지 확인하게 된다. 아닐시 BAD한 요청을 보내도록 설정한다. 2. 요청한 메소드 처리 OPTIONS메소드를 통과한 다음 처리하기위한 메소드가 들어오게 된다. 3. 응답 확인 실제로 요청을 하게 되면 preflight로 cors가 먼저 처리되기 위해 메소드로 OPTIONS를 거치게되고 정상 조건일시 fetch에 의해 요청한 Method가 처리된다. *preflight는 요청할때마다 계속 처리 되지 않는다. 최초 처리후 캐시에 보관하여 있다.. 2021. 10. 12.