맥북 Proxy 구성 2가지 Nginx, Charles Proxy 설치
이 블로그에서는 개발환경 맥북 Proxy 웹 트래픽을 처리하고 분석하는 데 도움이 되는 두 가지 주요 도구, NGINX 프록시와 Proxy Charles에 대해 자세히 알아보겠습니다.
목차
서론
웹 개발의 복잡한 세계에서, 트래픽 관리는 점점 더 중요한 역할을 하게 되었습니다. 클라이언트와 서버 간의 네트워크 트래픽을 관리하는 일은 쉬운 일이 아니지만, 다행히도 몇 가지 강력한 도구들이 이를 단순화해주고 있습니다.
리버스 프록시(Reverse Proxy)란?
리버스 프록시는 클라이언트와 웹 서버 사이에 위치한 서버로, 클라이언트의 요청을 실제 웹 서버에 전달하고, 웹 서버의 응답을 클라이언트에게 다시 전달하는 역할을 합니다. 이 과정을 통해 리버스 프록시는 여러 가지 목적을 달성할 수 있습니다.
주요 기능과 이점
- 로드 밸런싱: 리버스 프록시는 들어오는 클라이언트 요청을 여러 백엔드 서버에 분산시킬 수 있습니다. 이는 서버의 부하를 감소시키고 응답 시간을 개선하는 데 도움이 됩니다.
- 캐싱: 리버스 프록시는 자주 접근되는 웹 페이지나 리소스를 캐시에 저장할 수 있습니다. 이를 통해 서버의 부하를 줄이고 응답 속도를 빠르게 할 수 있습니다.
- SSL 터미네이션: 리버스 프록시에서 SSL(HTTPS) 연결을 처리하면, 백엔드 서버는 이 작업을 처리하지 않아도 됩니다. 이를 통해 백엔드 서버의 부하를 줄일 수 있습니다.
- 보안: 리버스 프록시를 사용하면 내부 네트워크 구조를 숨길 수 있으며, 웹 애플리케이션에 대한 보안을 강화할 수 있습니다. 예를 들어, 리버스 프록시는 DDoS 공격을 방어하는 데 도움이 될 수 있습니다.
- 압축과 최적화: 리버스 프록시는 웹 컨텐츠를 압축하고 최적화할 수 있습니다. 이를 통해 더 빠른 페이지 로드 시간과 향상된 사용자 경험을 제공할 수 있습니다.
- 세션 퍼시스턴스와 쿠키 처리: 사용자 세션 정보를 유지하면서 여러 백엔드 서버에 요청을 분산할 수 있습니다.
맥북 Proxy 2가지 설치
NGINX: 고성능과 유연성을 자랑하는 리버스 프록시
무엇인가요?
웹 서버로 시작하여 이제는 리버스 프록시, HTTP 캐시, 이메일 프록시 등 다양한 역할을 할 수 있는 오픈 소스 소프트웨어입니다.
왜 필요한가요?
- 로드 밸런싱: 여러 백엔드 서버에 트래픽을 분산시킵니다.
- 캐싱: 빠른 응답 시간을 제공하여 사용자 경험을 향상시킵니다.
- SSL 지원: HTTPS를 포함한 다양한 프로토콜을 지원합니다.
- 고성능: 매우 낮은 시스템 자원을 사용하여 높은 트래픽을 처리할 수 있습니다.
사용 사례
- 대규모 웹 애플리케이션
- 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로 알려져 있습니다, 모든 웹 트래픽을 볼 수 있는 강력한 디버깅 프록시 도구입니다.
왜 필요한가요?
- 트래픽 모니터링: 모든 클라이언트와 서버 사이의 트래픽을 감시할 수 있습니다.
- 디버깅: 네트워크 문제를 쉽게 식별하고 해결할 수 있습니다.
- 성능 테스트: 다양한 네트워크 조건을 시뮬레이션 할 수 있습니다.
- 데이터 조작: 브레이크포인트를 사용하여 실시간으로 데이터를 편집하고 테스트할 수 있습니다.
사용 사례
- 웹 개발
- 모바일 애플리케이션 테스트
- 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정보는 아래 확인하세요!