맥북 Proxy 구성 2가지 Nginx, Charles Proxy 설치

이 블로그에서는 개발환경 맥북 Proxy 웹 트래픽을 처리하고 분석하는 데 도움이 되는 두 가지 주요 도구, NGINX 프록시와 Proxy Charles에 대해 자세히 알아보겠습니다.

서론

웹 개발의 복잡한 세계에서, 트래픽 관리는 점점 더 중요한 역할을 하게 되었습니다. 클라이언트와 서버 간의 네트워크 트래픽을 관리하는 일은 쉬운 일이 아니지만, 다행히도 몇 가지 강력한 도구들이 이를 단순화해주고 있습니다.


리버스 프록시(Reverse Proxy)란?

리버스 프록시는 클라이언트와 웹 서버 사이에 위치한 서버로, 클라이언트의 요청을 실제 웹 서버에 전달하고, 웹 서버의 응답을 클라이언트에게 다시 전달하는 역할을 합니다. 이 과정을 통해 리버스 프록시는 여러 가지 목적을 달성할 수 있습니다.

주요 기능과 이점

  1. 로드 밸런싱: 리버스 프록시는 들어오는 클라이언트 요청을 여러 백엔드 서버에 분산시킬 수 있습니다. 이는 서버의 부하를 감소시키고 응답 시간을 개선하는 데 도움이 됩니다.
  2. 캐싱: 리버스 프록시는 자주 접근되는 웹 페이지나 리소스를 캐시에 저장할 수 있습니다. 이를 통해 서버의 부하를 줄이고 응답 속도를 빠르게 할 수 있습니다.
  3. SSL 터미네이션: 리버스 프록시에서 SSL(HTTPS) 연결을 처리하면, 백엔드 서버는 이 작업을 처리하지 않아도 됩니다. 이를 통해 백엔드 서버의 부하를 줄일 수 있습니다.
  4. 보안: 리버스 프록시를 사용하면 내부 네트워크 구조를 숨길 수 있으며, 웹 애플리케이션에 대한 보안을 강화할 수 있습니다. 예를 들어, 리버스 프록시는 DDoS 공격을 방어하는 데 도움이 될 수 있습니다.
  5. 압축과 최적화: 리버스 프록시는 웹 컨텐츠를 압축하고 최적화할 수 있습니다. 이를 통해 더 빠른 페이지 로드 시간과 향상된 사용자 경험을 제공할 수 있습니다.
  6. 세션 퍼시스턴스와 쿠키 처리: 사용자 세션 정보를 유지하면서 여러 백엔드 서버에 요청을 분산할 수 있습니다.


맥북 Proxy 2가지 설치

맥북 proxy nginx charles proxy

NGINX: 고성능과 유연성을 자랑하는 리버스 프록시

무엇인가요?

웹 서버로 시작하여 이제는 리버스 프록시, HTTP 캐시, 이메일 프록시 등 다양한 역할을 할 수 있는 오픈 소스 소프트웨어입니다.

왜 필요한가요?

  1. 로드 밸런싱: 여러 백엔드 서버에 트래픽을 분산시킵니다.
  2. 캐싱: 빠른 응답 시간을 제공하여 사용자 경험을 향상시킵니다.
  3. SSL 지원: HTTPS를 포함한 다양한 프로토콜을 지원합니다.
  4. 고성능: 매우 낮은 시스템 자원을 사용하여 높은 트래픽을 처리할 수 있습니다.

사용 사례

  • 대규모 웹 애플리케이션
  • API 게이트웨이
  • 콘텐츠 캐싱
  • 다른 여러 가지 웹 서비스

설치방법

  • brew로 일단 설치를 진행 하고 환경 설정을 진행 합니다.
brew install nginx #설치
sudo nginx #80 포트 이용을 위해서는 sudo 필요 구동
vi /usr/local/etc/nginx/servers/도메인.conf #80 만 필요하면 443 삭제하고 location 세팅 proxy_pass 부분이 라우팅될 아이피 포트
  • conf 파일
server {
    listen       80;
    server_name  도메인;
    location / {
        return 301 https://도메인;
    }
}
server {
    listen       443 ssl;
    server_name  도메인;
    ssl_prefer_server_ciphers on;
    ssl_certificate     {{인증서 파일};
    ssl_certificate_key {{인증서 키};
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    location / {
        client_max_body_size 100m;
        proxy_set_header   X-Forwarded-Host   $host;
        proxy_set_header   X-Forwarded-Server $host;
        proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_pass         http://127.0.0.1:2368;
    }
}
  • 재기동 및 DNS 설정 진행
sudo nginx -s reload
sudo vi /etc/hosts #dns 추가
  • /etc/hosts 파일
127.0.0.1 도메인

Proxy Charles: 웹 트래픽을 시각적으로 분석하는 도구

무엇인가요?

일반적으로 Charles로 알려져 있습니다, 모든 웹 트래픽을 볼 수 있는 강력한 디버깅 프록시 도구입니다.

왜 필요한가요?

  1. 트래픽 모니터링: 모든 클라이언트와 서버 사이의 트래픽을 감시할 수 있습니다.
  2. 디버깅: 네트워크 문제를 쉽게 식별하고 해결할 수 있습니다.
  3. 성능 테스트: 다양한 네트워크 조건을 시뮬레이션 할 수 있습니다.
  4. 데이터 조작: 브레이크포인트를 사용하여 실시간으로 데이터를 편집하고 테스트할 수 있습니다.

사용 사례

  • 웹 개발
  • 모바일 애플리케이션 테스트
  • API 디버깅
  • 보안 감사

설치 방법

  • 공식 홈페이지 다운로드 아래 사이트 방문 및 설치 진행 (라이센스 구매 안하면 30분 이용 후 종료된다.)
  • SSL 세팅 실행 후 상단 help > SSL Proxying > Install Charles Root Certificate 클릭 합니다.
  • 키체인 설정 진행
  • 더블클릭 후 신뢰 선택

  • 대표 포워드 설정 안내
  • Map Remote : URL -> localhost:포트 포워드
  • Map Local : URL -> local 경로 포워드

결론

NGINX 프록시와 Proxy Charles는 웹 트래픽을 관리하고 디버깅하는 데 있어 각각 고유한 장점을 가지고 있습니다. 웹 애플리케이션을 구축하거나 유지 관리하는 경우, 이 두 도구는 꼭 알아둘만한 가치가 있습니다.

좋은 트래픽 관리와 효율적인 디버깅은 성공적인 웹 프로젝트의 핵심이므로, 이 두 도구를 활용하여 더 나은 웹 서비스를 제공해 보세요.


이제 여러분도 NGINX 프록시와 Proxy Charles의 힘을 느껴보세요!

다른 IT정보는 아래 확인하세요!