이중 nginx 에이전트 실제 접근 ip 가 져 오기
nginx 프 록 시 서버 두 대, 첫 번 째 는 실제 클 라 이언 트 의 요청 을 받 은 다음 두 번 째 nginx 프 록 시 서버 로 예약 하고 마지막 으로 웹 백 엔 드 로 예약 합 니 다.
필요:
두 번 째 nginx 는 첫 번 째 nginx 의 요청 을 받 기 때문에 기본 적 인 상황 에서 로그 기록 은 모두 첫 번 째 nginx 의 ip 방문 입 니 다. 현재 두 번 째 nginx 의 방문 로 그 는 실제 클 라 이언 트 의 ip 를 기록 할 수 있 도록 요구 하고 있 습 니 다.
첫 번 째 nginx 설정:
- worker_processes 1;
- error_log logs/error.log notice;
- pid logs/nginx.pid;
- worker_rlimit_nofile 65535;
- events {
- use epoll;
- worker_connections 65535;
- }
-
- http {
- include mime.types;
- default_type application/octet-stream;
- keepalive_timeout 65;
-
- proxy_temp_path /data0/proxy_temp_path;
- proxy_cache_path /data0/proxy_cache_path levels=1:2 keys_zone=cache:128m inactive=1d max_size=1g;
-
- upstream hdwiki {
- server 192.168.253.105;
- }
-
-
- server {
- listen 80;
- server_name www.hdwiki.com;
- index index.html index.htm;
-
- location /
- {
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-For $remote_addr;
- proxy_pass http://hdwiki;
- }
-
- access_log logs/access_hdwiki.log;
- }
- }
proxy_set_header Host $host; 방문 한 도 메 인 이름 을 요청 패키지 의 머리 정보 에 추가 하면 백 엔 드 웹 의 가상 호스트 를 찾 을 수 있 습 니 다.
proxy_set_header X-Forwarded-For $remote_addr; 클 라 이언 트 의 진짜 ip 주 소 를 요청 패키지 의 머리 정보 에 추가 하고 X - Forward - for 로 표시 합 니 다.
두 번 째 nginx 설정:
우선 컴 파일 할 때 -- with - httprealip_module 이 모듈.
참고:http://wiki.nginx.org/HttpRealIpModule
- worker_processes 1;
- #error_log logs/error.log notice;
- pid logs/nginx.pid;
- worker_rlimit_nofile 65535;
- events {
- use epoll;
- worker_connections 65535;
- }
-
- http {
- include mime.types;
- default_type application/octet-stream;
- keepalive_timeout 65;
-
- proxy_temp_path /data0/proxy_temp_path;
- proxy_cache_path /data0/proxy_cache_path levels=1:2 keys_zone=cache:128m inactive=1d max_size=1g;
-
- upstream hdwiki {
- server 192.168.253.105:8090;
- }
-
-
- server {
- listen 80;
- server_name www.hdwiki.com;
- index index.html index.htm;
-
- location /
- {
- proxy_set_header Host $host;
- proxy_set_header X-Forwarded-For $remote_addr;
- set_real_ip_from 192.168.253.103;
- real_ip_header X-Forwarded-For;
- proxy_pass http://hdwiki;
- }
-
- access_log logs/access_hdwiki.log;
- }
- }
set_real_ip_from 192.168.253.103; 첫 번 째 nginx 의 ip 주 소 는 실제 ip 이 어디에서 왔 는 지 지정 합 니 다.
real_ip_header X-Forwarded-For; 첫 번 째 nginx 에서 클 라 이언 트 의 ip 를 가 져 옵 니 다. 실제 클 라 이언 트 의 ip 은 첫 번 째 nginx 설정 에서 X - Forward - for 에 표시 되 었 기 때문에 header 헤드 에서 추출 합 니 다.
이렇게 하면 두 번 째 nginx 프 록 시 서버 의 방문 로그 에서 실제 클 라 이언 트 가 ip 에 접근 하 는 것 을 볼 수 있 습 니 다.
본 고 는 '생명 이 멈 추 지 않 고 분투 하 는 것 이 멈 추 지 않 는 다' 는 블 로그 에서 나 온 것 으로 전 재 를 사절 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.