오늘이 목표
HTTPS/SSL/TLS
3-WAY-Handshake
SSR
HTTPS/SSL/TLS
루트네임서버
전세계 단 13개만 존재
HTTPS를 사용하려면
인증서가 필요함
무료인증서
유료인증서
인증서를 적용하려면 매우 복잡함
그런데 클라우드를 사용하게 되면 클라우드가 제공해주는 인증서가 있음
인증서 적용하기
GCP-네트워크 서비스-부하분산-만들기 -HTTPS만들기-프런트엔드 구성-인증서만들기
SSL인증서라고 함 근데 최근에 업그레이드 되서 TLS라고 하지만 그냥 관례적으로 SSL이라고 함
데이터 확인 툴
와이어샤크
source - src - 출발지
destination - dst - 도착지
http를 사용하게 되면 내가 날린 쿼리의 내용을 볼 수 있음
그래서 공용와이파이로 http 사이트를 들어가면 쿼리 날린 것들을 볼 수 있음(ARP스푸핑)
https로 하게 되면 정보들이 전부 암호화 되서 날아감
프리플라이트요청(옵션)
상대가 요청을 받을 수 있는 상태인지 알아보기 위해 먼저 요청해보는 것
이 프리플라이트 요청 전에 하는 것이 3-way-handshake임
syn 서버야 나 연결해도 됨? 임시포트(내포트)->http/https포트
syn, ack ㅇㅋ http/https포트->임시포트(내포트)
ack 연결할게 임시포트(내포트)->http/https포트
그 다음 http리퀘스트가 나감
이후 연결이 완료되면 연결이 끊기기 전까지 유지됨
서버사이드렌더링은 스토리지에서 할 수 없음
이유: 스토리지는 단순히 다운로드만 받는 곳이기 때문임
24시간 대기하고 있지 않음
그래서 24시간 대기하고 있는 백엔드에서 데이터 요청을 하고 가져올 수 있음
즉 하드코딩된 애들은 ssr이 필요없음
하지만 data.fetchBoard 같이 동적으로 변경되야 하는 부분은 ssr이 필요함
next js에서 ssr을 하는 방법
getSeverSideProps =() => {
}
를 아래에 추가하면 해당 페이지만 서버사이드렌더링이 된다
이때 props로 컴포넌트에 넘겨주게 됨
서버에서 렌더링을 하여 완성본을 프론트로 넘기게 됨
즉 백엔드에서 html을 완성시켜서 가져다 주게 됨
SSR 배포하기
(컴퓨터빌리기)
쉘을 빌리는 것임
내 개인컴퓨터를 종료해도 계속 켜져있음
트래픽하고 상관없이 시간에 따라 계산됨
GCP-컴퓨터엔진-vm인스턴스-인스턴스만들기-우분투로 만드세요
인스턴스를 만들면
VPC(네트워크)
안에 DB도 있고 프런트도 있고 백엔드도 있고 이럼
외부IP VPC밖에서 사용하는 IP(브라우저에서 입력해서 접속할 수 있는 IP)
내부IP VPC내부에서 쓰는 IP 예를들어 프런트가 백엔드에 접속할때
ssh열어서 깃클론
노드js, yarn 깔아야됨
sudo apt update 해주고
밑에 보고 하면 됨
https://jjuon.tistory.com/3
이후 yarn install, yarn build, yarn start
하면 로컬호스트로 나옴
구글컴퓨터 입장에서는 로컬호스트니까,,
근데 이렇게 하면 접속이 안됨
그 이유는?
방화벽 때문에 포트별로 막혀있어서 안됨
그래서 그걸 뚫어 줘야 됨
방화벽 푸는 방법
방화벽 스티커 만들기- 풀어주고 싶은 컴퓨터에 붙히기
GCP - VPC네트워크- 방화벽 - 방화벽 규칙 만들기
다 만들고
컴퓨터엔진 - VM인스턴스- 방화벽 설정할 컴퓨터 클릭-수정하기-네트워크태그에 스티커 붙히기
이렇게 하면 쉬운데? 왜 스토리지 배포에 하는지?
트래픽이 늘어나면 감제하는 사람이 필요함
관리가 쉽게 하려고 스토리지에 보내버림
ssr을 자식으로 넘기는 방법 2가지
프롭스로 받아온걸 자식으로 보내주기
ssr페이지라고 하더라도