공유할 서비스 선택

TECH


TECH

Middleware (Nginx-2) Nginx 사용하는 옵션 정리 2_(proxy_pass & upstream)

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 9,873회 좋아요 2회 작성일 20-05-15 11:31

본문

 

이번에는 요즘 많이 사용되고 있는 Nginx에 대해 설치 부터 튜닝까지 방법에 대해 진행해보겠습니다.

이번엔 두 번째로 Nginx에서 자주 사용하는 proxy_pass 에 대해 설명해드리겠습니다.

 

진행 순서는 1~8까지 가이드를 준비하고 있습니다.

  1. Nginx 설치 및 컴파일 방법_(모듈설치)
  2. Nginx 사용하는 옵션정리_proxy_pass
  3. Nginx 사용하는 옵션정리_upstream
  4. Nginx 사용하는 옵션정리_health-check
  5. Nginx 사용하는 옵션정리_sticky
  6. Nginx 사용하는 옵션정리_upstream, ip hash
  7. Nginx 사용하는 옵션정리_X-Forwarded-For
  8. Nginx 사용하는 옵션정리_php-fpm & zabbix 모니터링

1. Nginx 옵션 정리


 

 

proxy_pass

DEV, QA, STG, PROD 서비스 보안(접근우회)과 속도향상, 서비스별 기능적 확장을 사용하기 위해 proxy pass 기능을 기본적으로 사용한다.
경로 : /app/WEB/proxy/*.conf
적용 : DEV, QA, STG, PROD

ex)80 으로 받아서 8080으로 proxy_pass...샘플

 location / {

        proxy_pass http://0.0.0.0:8080;

    }

health check

파일 : health-check-xxx-xxxx.conf
경로 : /app/WEB/proxy/backend/xxx/health/

check intercal=2000 rise=5 fall=1 timeout=1000 type=http;
check_http_send "GET /m/hearth HTTP/1.0\r\n\r\n";
check_http_expect_alive_http_2xx;

mod_remote_ip

프록시 (Proxy)를 거쳐서 들어오게 되면 서버나 소스에서는 모든 사용자의 아이피가 Proxy IP 로 들어오는 것을
lient IP로 로그에 남도록 하는 옵션

Client ip를 호출받기 위해서는 mod_remoteip를 사용해야 한다.
Apache 2.2 이하에서는 mod_rpaf,
Apache 2.4 이상에서는 mod_remoteip를 사용한다.

경로 : /app/WEB/proxy/*.conf

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

X-Forwarded-For XFF 는 HTTP Header 중 하나로 HTTP Server 에 요청한 clinet 의 IP 를 식별하기 위한 사실상의 표준이다.
제가 사용하는 Nginx는 Nginx.conf 에서 정의하지 않고 server-proxy-headers.conf 통합 관리한다.
경로 : /app/WEB/proxy/include
파일 : server-proxy-headers.conf
drt, x-drt (동적라우팅)X-DRT request 헤더 또는 drt 쿠키 값으로 target was를 선정하는 것
WIKI => http://repo.test.com/drt/drt.html
파일 : /서비스별/*.conf
map $cookie_drt {~~}
map $http_x_drt {~~}
캐싱, 버퍼링, 임시파일

proxy_buffer_size 128k
proxy_buffers 4 256k
proxy_busy_buffers_size 256k

백엔드 서버로 전달되는 요청 수는 최대한 줄이는 것이 이상적이다.
제가 사용하는 nginx에는 버퍼링옵션, 엔진엑스가 임시 파일을 다루는 방식 뿐만 아니라 캐싱 시스템을 만드는 것을 돕고 사용을 하고 있다.

 

 

 

2. Wildfly & Nginx 연동시 참고사항

또한 wildfly 와 Nginx 를 같이 사용할 때 proxy_pass 설정에 아래 내용은 추가를 해주셔야 정상 작동 됩니다.

 

 

  • nginx 와 wildfly 사용시 proxy-pass 사용시 wildfly 에서 필수로 설정해줘야 하는 옵션이 있습니다.
  • default 값이 false 라서 true로 설정하지 않으면 proxy-pass 가 정상동작 하지 않습니다.

 

 파일 : standalone.xml (붉은색 부분 설정추가..)

 내용 :

...

 <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" proxy-address-forwarding="true"/>

...

 

 

 

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
44 Middleware 미들웨어 아이디로 검색 전체게시물 10-05 2101
(Kubernetes-4) docker 설치 & 삭제하기

카테고리 : Middleware

2,101 0
작성자 : 미들웨어 21/10/05
43 Middleware 미들웨어 아이디로 검색 전체게시물 09-23 2640
(Kubernetes-3) prometheus & Grafana 활용하여 모니터링 구성하기

카테고리 : Middleware

2,640 0
작성자 : 미들웨어 21/09/23
42 Middleware 미들웨어 아이디로 검색 전체게시물 09-06 3353
(Kubernetes-2) 오라클 클라우드로(무료 VM) 쿠버네티스 (OKE) 생성 및 Nginx 기동

카테고리 : Middleware

3,353 0
작성자 : 미들웨어 21/09/06
41 Middleware 미들웨어 아이디로 검색 전체게시물 08-26 2884
(Kubernetes-1) Kubernetes 아키텍처 흐름도 와 개념 정리

카테고리 : Middleware

2,884 0
작성자 : 미들웨어 21/08/26
40 Middleware 미들웨어 아이디로 검색 전체게시물 08-11 3661
(weblogic 활용) 리눅스에 VNC 설치 하여 UI모드로 Weblogic 콘솔모드 접속

카테고리 : Middleware

3,661 0
작성자 : 미들웨어 21/08/11
39 Middleware 미들웨어 아이디로 검색 전체게시물 07-27 6478
(오픈소스 활용-5) SpringBoot 의 장단점 및 소개

카테고리 : Middleware

6,478 0
작성자 : 미들웨어 21/07/27
38 Middleware 미들웨어 아이디로 검색 전체게시물 07-13 2986
(weblogic 활용) weblogic 14 사일런트 모드(-slient)로 설치 해보자

카테고리 : Middleware

2,986 0
작성자 : 미들웨어 21/07/13
37 Middleware 미들웨어 아이디로 검색 전체게시물 06-23 2717
(오픈소스 활용-4) Git가입 -> repogitory 생성 -> Git & Jenkins연동 -> Jenkins & Tomcat build 배포 -> Jenkins pipline 구성 전체 흐름

카테고리 : Middleware

2,717 0
작성자 : 미들웨어 21/06/23
36 Middleware 미들웨어 아이디로 검색 전체게시물 06-07 3602
(오픈소스 활용-3) scouter 모니터링 알람 설정 및 튜닝된 jar로 그룹별 slack 알람 보내는 방법

카테고리 : Middleware

3,602 0
작성자 : 미들웨어 21/06/07
35 Middleware 미들웨어 아이디로 검색 전체게시물 05-22 6420
(오픈소스 활용-2) scouter-paper 을 활용하여 모바일, 태블릿에서 모니터링 가능

카테고리 : Middleware

6,420 0
작성자 : 미들웨어 21/05/22
Total 114건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top