Proxy, CDN, ACL, SSL...

Haley Young·2023년 1월 6일
0

인프런 Java/Spring 주니어 개발자를 위한 오답노트
보고 내용이 좋아서 정리

CDN
콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템

매번 서버에서 이미지를 내려받는것이 비효율적이라 (Disk I/O 등)
이미지만 CDN 서버에 올려놓는다

ACL
사내망 - 인터넷 - 특수존
사내망 -> 인터넷(외부)
로 나가려고 할때 특정 IP, 특정 Port만 나갈 수 있도록 만들어진 접근제어목록

Proxy
프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속 할 수 있게 해주는 시스템 혹은 프로그램 (중개자 역할)
프록시를 사용하는 이유, 접근제어, 보안, cache, access control...
포워드 프록시 - 나갈때
리버스 프록시 - 들어갈때 (부하분산)

Web Server
apache, nginx
react, vue로 만들어진 single page 내려주기, backend load balancing...

Web Application Server
tomcat, netty, undertow...

SSL
http 를 https 로 만들어주는 보안 프로토콜
SSL -> 향상된 것이 TLS 지만 그냥 SSL 이라는 용어를 사용
인증서 발급받아서 등록해야됨.

halyelog.com 으로 연결되는 서버가 문제 없음을 증명하고 싶은 상황
->
server에서 ssh-keygen으로 비대칭키 하나 생성
->
server private, server public 두개가 생성됨
->
public key를 들고 인증기관 방문
->
CA(인증기관)가서 도메인을 알려주고 public key 전달 (인증서명요청)
->
CA에서 가지고 있는 private key로 암호화
->
우린 이걸 인증서라고 부르기로 했어요
->
다운받은 인증서를 서버에 올리고, SSL 설정을 함

SSL 작동방식

브라우저에는 CA의 public key가 내장되어있음
->
클라이언트가 서버에 인증서 요청
->
내려줌
->
인증서를 CA public key로 풀어봐서 정보를 확인함
->
인증서에 적혀있는 서버의 public key를 갖고옴
대칭키를 만들고, 서버의 public key로 암호화함
->
암호화 된값을 서버에 보냄
->
서버의 public key로 암호화된 것을 서버가 서버의 private key로 복호화 함
->
양쪽 모두 대칭키 소유. 대칭키로 통신함

profile
Just keep coding🎶 Just keep coding🎵

0개의 댓글