varnish 에이전트 nginx, nginx 로 하여 금 실제 client 의 ip 을 기록 하 게 합 니 다.

1815 단어 nginxvarnish실제 IP
최근 연구 에서 varnish 역방향 프 록 시 + 캐 시 를 배 웠 습 니 다. 구 글 은 오랫동안 nginx 로그 에 실제 client 의 ip 주 소 를 기록 하 는 것 을 실 현 했 습 니 다. 하 나 는 기록 하 는 것 이 고 하 나 는 모두 에 게 공유 하 는 것 입 니 다.
나의 주요 설정 은 다음 과 같다.
varnish 프로필:
sub vcl_recv {
  #client ip.
  if (req.restarts == 0) {
    if (req.http.x-forwarded-for) {
      set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + client.ip;
    } else {
      set req.http.X-Forwarded-For = client.ip;
    }
  }

nginx 로그 관련 설정:
log_format  main  '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" ';

이후 로그 에서 내 가 방문 한 정 보 를 볼 수 있 습 니 다:
192.168.102.126 - - [29/Nov/2013:14:21:24 +0800] "GET /zabbix/styles/themes/originalblue/images/bg_h-hard_55.png HTTP/1.1" 304 0 "http://172.16.220.241/zabbix/slideconf.php?ddreset=1&sid=fdd3398fd573d331"
192.168.102.126 - - [29/Nov/2013:14:21:24 +0800] "GET /zabbix/images/general/sort_up.png HTTP/1.1" 304 0 "http://172.16.220.241/zabbix/slideconf.php?ddreset=1&sid=fdd3398fd573d331"
192.168.102.126 - - [29/Nov/2013:14:21:24 +0800] "GET /zabbix/images/gradients/menu_not_active.gif HTTP/1.1" 304 0 "http://172.16.220.241/zabbix/slideconf.php?ddreset=1&sid=fdd3398fd573d331"
192.168.102.126 - - [29/Nov/2013:14:21:24 +0800] "GET /zabbix/images/general/zabbix.png HTTP/1.1" 304 0 "http://172.16.220.241/zabbix/slideconf.php?ddreset=1&sid=fdd3398fd573d331"

이것 은 인터넷 의 다른 게시 물 과 거의 다 르 지 않 고 그들의 상세 한 것 도 없 지만 여기 에는 특히 주의해 야 할 부분 이 있 습 니 다. 그렇지 않 으 면 당신 이 어떻게 설정 해도 효력 이 발생 하지 않 습 니 다.
varnish 설정 에서 x - forward 에 관 한 부분 은 vcl 에 있 음 을 보증 해 야 합 니 다.revc 의 맨 앞.

좋은 웹페이지 즐겨찾기