Nginx 실제 IP 모듈 획득 httprealip_module

Nginx 실제 IP 모듈 획득 httprealip_module

  • 이런 상황 이 있 습 니 다. 특정한 사이트 의 정적 파일 이 많 고 사용자 가 방문 하 는 출처 는 네트워크 통, 전신 도 있 고 철 통 도 있 습 니 다. 설정 은 외국 도 있 습 니 다.
    서로 다른 네트워크 운영 업 체 에 있 는 사용자 가 정적 파일 을 받 는 속 도 를 잘 나타 내기 위해 이 사 이 트 는 서로 다른 운영 업 체 의 포인트 에 squid 를 배치 한 다음 에 프 록 시 를 메 인 사이트 로 통일 시 켰 다. Nginx 분포 식 캐 시 구 조 를 형성한다.
    이 경우 홈 페이지 에 있 는 Nginx 로그 나 응용 프로그램 에서 얻 은 ip 소스 는 항상 각 기관실 에서 Squid 의 IP 일 뿐 입 니 다.사용자 의 실제 IP 가 아 닙 니 다.아파 치 의 경우 위 에서 언급 한 mod_rpaf 을 통 해 해결 할 수 있다.물론 강 한 엔 징 스 도 자신 만 의 집 지 키 는 보물 이 있다.
    Nginx 는 컴 파일 할 때 기본적으로 불 러 오지 않 는 모듈 http_realip_module 이 있 습 니 다. 바로 이 기능 을 실현 하 는 데 사 용 됩 니 다.그러나 인터넷 에서 많은 작가 들 이 이 모듈 에 대한 이해 가 완전히 틀 렸 고 프 록 시 매개 변수 에 있 는 것 proxy_set_header 이 라 고 생각 했다.proxy_set_header 백 엔 드 로 IP 전송 head, 이 매개 변 수 는 proxy_module 모듈 에 있 는 것 이지 http_realip_module 가 아 닙 니 다.많은 블 로 거들 이 글 을 쓸 때 이 모듈 의 용 도 를 '백 엔 드 응용 에 realip 제공' 이 라 고 썼 다.
    Nginx 공식 위 키 가 이 모듈 에 대한 설명:http://wiki.nginx.org/NginxHttpRealIpModule
    “It is useful if nginx works behind some proxy of L7 load balanver, and request come from local IP, but proxy add request header with client's IP.This module isn't built by default, enable it with the configure option ”
    쉽게 말 하면 Nginx http_realip_module 는 Apache mod_rpaf 와 같은 것 으로 전단 에서 보 내 온 IP head 정 보 를 받 아들 이 고 실제 사용자 IP 를 얻 는 데 사용 된다.
    설정 방식 이 상당히 간단 합 니 다. Nginx 에 --with-http_realip_module 인 자 를 다시 컴 파일 합 니 다. 예 를 들 어:
    ./configure --prefix=/opt/nginx --with-http_stub_status_module  --with-pcre=../pcre-6.6 --with-http_realip_modulemakemake install

    왜?Nginx 서비스 가 달리 고 있 습 니까?다시 시작 하기 가 쉽 지 않 습 니까?간단 합 니 다. 원래 Nginx 를 어디 에 설치 하고 다시 컴 파일 할 때 선택 하 십시오. 바로 make install 들 어가 면 원래 의 것 을 덮어 씁 니 다.그리고 killall -s USR2 nginx 를 실행 하면 부 드 럽 게 업그레이드 할 수 있 습 니 다.
    Nginx. conf 편집
    location 에 삽입:
    set_real_ip_from  192.168.1.0/24;                  IP head      IP  IP 
    set_real_ip_from  192.168.2.1;  
    real_ip_header    X-Real-IP;        IP head       ,    。

    설정 은 mod_rpaf  과 대체적으로 같 습 니 다!설정 완료 후 sbin/nginx -t 테스트 문법
    테스트 오류 없 음 Killall -s HUP nginx 부 드 러 운 로드 설정.이렇게 해서 Nginx 라 는 모듈 의 로 딩 을 중단 없 이 마 쳤 습 니 다.

    좋은 웹페이지 즐겨찾기