Sinbum's blog
  • 인셉션 개발자
    • History
    • Editorial Board
    • 세미나
      • MS_빅데이터_분석_교육
      • Databricks_Musinsa_사례분석
      • Databricks_AMOREPACIFIC_사례분석
    • 개발자 꿀팁
  • 리눅스
    • 리눅스 기초
      • 기본명령어
      • 프록시서버
      • 온프레미스
      • systemd
      • 우분투 앱
      • vi 사용법
    • 도커
      • MSA 아키텍처
      • 도커 설명
      • 도커 설치
      • 도커 가이드
        • 컨테이너 만들기
        • 컨테이너 보관
        • 컨테이너 사용
        • 컨테이너 관리
        • 컨테이너 볼륨
        • 컨테이너 통신
        • 도커 연습
  • 언어
    • 자바
      • 자바(JAVA)는 무엇인가?
        • JVM 메모리
      • 자바 설치 가이드
      • 자바 언어 활용
        • 변수
        • static
        • 상수
        • 연산자
        • 제어문
        • 배열
        • CLI-자바사용
        • 클래스
        • 메소드
        • 값에의한 호출
        • GUI 프레임
        • 생성자
        • 오버로딩
        • 상속
        • 상속생성자
        • 접근제한자 와 가비지 컬렉션
        • 추상클래스 와 인터페이스
        • 다중구현
        • 예외처리
        • 컬렉션 프레임워크
        • 쓰레드
        • 네트워크
        • 다중 접속 서버 구현
      • 간단한 채팅 앱 개발하기
    • 파이썬
      • 파이썬(Python)은 무엇인가?
      • 파이썬 설치 가이드
      • 파이썬 언어 활용
        • 변수
        • 입력,출력
        • 타입선언
        • 자료구조
        • 주석처리
        • 문자열
        • 리스트
        • 반복문
        • 연산자
        • 조건문
        • 정규표현식
          • re 모듈
          • 메타문자1
          • 메타문자2
          • 그루핑
          • 전방탐색
          • 문자열 바꾸기
          • Greedy 와 Non-Greedy
      • 마치며...
  • 형상관리,CI/CD
    • 깃허브
      • 깃허브 협업 모델
      • 깃허브 설치 와 ssl
      • 깃허브를 잘쓰는 팁 모음
  • BigData
    • BigData 개념
      • OLTP,OLAP
      • ELT,ETL
      • DW
      • ObjectStorage
      • LambdaArc
      • OGG
    • Kafka
      • 환경설정 및 소스코드 다운로드
      • 아파치 카프카는?
        • 카프카의 시작
        • 카프카 특성
        • 빅데이터 아키텍처
      • 카프카 기초 개념
    • BuildApplications
      • Airflow
      • Grafana
    • PowerBi
      • DAX
        • REMOVEFILTERS
        • DAX_문법
        • DAX_함수
    • Azure
      • SynapseAnalytics
  • IOT
    • 아두이노
      • 설치 및 기초
      • 센서의 종류
      • led 출력하기
      • 시리얼 통신
      • 무선 통신
  • About
    • SINBUM
    • INTEREST
    • PROJECTS
      • 업무 프로젝트
      • 개인 프로젝트
        • 티스토리API를 사용한 블로그 앱
        • 노션 API와 블로그 연동 자동화 하기
        • 로지텍 마우스 수리
    • CONTACT
Powered by GitBook
On this page
  • 프록시 서버 (Proxy Server)
  • 동작 구조
  • 유형
  • 사용 용도
  • 유사 개념
  • 릴레이 서버
  • 캐시 서버
  • 라우터
  • 토르의 어니언 라우팅
  • 참고
  1. 리눅스
  2. 리눅스 기초

프록시서버

프록시 서버에 관한 설명.

Previous기본명령어Next온프레미스

Last updated 2 years ago

niginx를 프록시서버로 사용한 다이어그램 - 참고 : Michael Zheng

프록시 서버 (Proxy Server)

클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 시스템을 말합니다. 프록시 라고도 합니다

동작 구조

  • 클라이언트의 요청은 프록시를 통해서 목적 서버로 전달 됩니다.

  • 서버의 응답 또한 프록시를 통해 클라이언트에게 전달 됩니다.

유형

  • 포워드 프록시 (정방향 프록시)

    • 서버의 메세지를 클라이언트에 전달하는 역할을 수행합니다.

    • 백엔드 to 프론트

  • 리버스 프록시 (역방향 프록시)

    • 클라이언트의 요청을 다수 서버에 분배해 전달하는 역할을 수행합니다.

    • 프론트 to 백엔드

사용 용도

  • 캐싱(속도 와 효율성)

    • 데이터를 릴레이 하는 과정에서 자주 사용되는 데이터를 저장하도록합니다.

    • 재요청이 있을때 원본 서버 까지 가지 않고 캐시된 데이터를 활요합니다.

  • 트래픽 통제 (보안 과 감시,통제)

    • 네트워크 접근이 특정 프로시 서버를 통해 이루어지도록합니다.

    • 프록시 서버에서 네트워크 패킷을 검열하거나 필터링 할 수 있습니다.

  • 익명성(접속자 보호, 접속 우회)

    • 실제 접근 호스트가 아닌 다른 호스트에서 접속한 것 처럼 합니다.

    • 내부 정보를 숨기거나, ip를 우회하는 용도로 사용할 수 있습니다.

유사 개념

릴레이 서버

  • 별도의 서버를 경유하여 송수신지 간 데이터를 전달하도록 합니다.

  • 프록시는 주로 클라이언트-서버간 통신에 이용되는데 반해서 릴레이 서버는 주로 서버간 중계에 이용됩니다.

  • 프록시 서버는 기본적으로 캐싱을 지원하지만,릴레이 서버는 실시간 전송을 기본으로 하는데 그 목적에 차이가 있습니다.

캐시 서버

  • 자주 사용되는 데이터를 저장함으로써 트래픽 비용이나 속도를 향상 시킵니다.

  • 프록시 서버는 릴레이 기능에 캐싱이 결합된 형태로, 단순 캐싱만 아니라 중계기능 또한 같이 수행합니다.

  • 자체적으로 캐싱 기능을 제공하ㅣㄱ도 하고 캐시 서버를 별도로 두기도 합니다.

라우터

  • 패킷을 받아 다른 서버로 전달하는 점에서 공통점을 가지고 있습니다.

  • 라우팅은 주로 L3에서 IP패킷을 전달하지만 프록시 서버는 L7에서 어플리케이션 데이터를 중계합니다.

토르의 어니언 라우팅

  • 클라이언트에게 익명성을 부여하는 것에서 공통점이 있습니다.

  • 타겟 서버에겐 익명성이 제공되지만, 프록시 서버에 클라이언트의 정보가 노출됩니다.

  • 토르는 어니언 라우팅을 통해 중계 서버에서도 클라이언트의 정보를 알 수 없도록 설계되어 있습니다.

참고

프록시의 동작 구조

IT위키 - 프록시 서버
IT위키 - 어니언 라우팅
드려다보기 - 토르 네트워크