Nginx 프록시, 리버스 프록시 - Mooneey/Facebook_Crawling GitHub Wiki

1. 순방향 Proxy (Forward Proxy)

  • 기업 내부망 PC or 서버들이 인터넷에 접속할 때, 먼저 Proxy 서버를 거쳐서 인터넷에 연결되는 방식

장점

    1. 보안 : Proxy Server에서 In/Out bound 패킷에 대한 보안 정책(Content filtering 등)을 적용
    1. 성능 : Proxy Server는 내부에 Cache를 유지하며 이미 한번 통신한 외부 서버의 이미지, 파일, 그 외 정보들을 저장할 수 있다. 내부 사용자가 원격 서버에 접속 시, cache에 데이터가 있으면 물리적으로 먼 곳까지 갈 필요 없이 Proxy 서버가 데이터를 제공하여 빠른 통신을 지원

7

2.역방향 Proxy (Reverse Proxy)

  • 외부에서 내부 서버가 제공하는 서비스 접근 시, Proxy 서버를 먼저 거쳐서 내부 서버로 들어오는 방식

장점

    1. 보안 : 외부 사용자는 실제 내부망에 있는 서버의 존재를 모른다. 모든 접속은 Reverse Proxy 서버에게 들어오며, Reverse Proxy는 요청에 맵핑되는 내부 서버의 정보를 알고 요청을 넘겨준다. 따라서 내부 서버의 정보를 외부로부터 숨길 수 있음
    1. 로드밸런싱 : Proxy 서버가 내부 서버의 정보를 알고 있으므로 로드밸런싱을 통해 부하 여부에 따라 요청을 분배 가능

8

3. Nginx로 리버스 프록시 구성 후 was에 있는 flask랑 연결

  • Dockerfile과 default.conf를 만들어 실행
    9
    10
  • 도커 컨테이너에서 /etc/nginx/nginx.conf 파일을 보면 맨 밑 include /etc/nginx/conf.d 폴더 아래에 있는 .conf 파일을 include 한다는 뜻이다.
    14
  • 도커 컨테이너에 들어가 만들었던 default.conf가 들어가 있는지 확인 11
  • wsl의 ip 주소 확인
    12
  • Vms의 플라스크 파일을 실행
    15
  • 브라우저에서 wsl ip를 입력하면 welcome to nginx가 나와야 하지만 리버스 프록시 설정을 통해 80 포트로 들어오는 것은
    flask 주소로 맵핑 해주어서 브라우저에서는 Hellow world 페이지가 나오게 됩니다. 13