1. 程式人生 > >NGINX配置獲取CloudFlare 下的訪客真實IP並記錄到日誌

NGINX配置獲取CloudFlare 下的訪客真實IP並記錄到日誌

gin cdn com 修改 獲取 參考 map body ces

我用的是lnmp.org的環境

/usr/local/nginx/conf/nginx.conf

    http {

    }

部分增加

map $HTTP_CF_CONNECTING_IP  $clientRealIp {
    ""    $remote_addr;
    ~^(?P<firstAddr>[0-9.]+),?.*$    $firstAddr;
}
log_format  main  '$clientRealIp [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '$http_user_agent $remote_addr $request_time';

主要是為了通用性,如果關閉了CDN,可以不需要修改獲取IP的方式,所以才這麽修改,不然直接用$HTTP_CF_CONNECTING_IP就行了(這個時候就不需要在日誌格式裏使用$clientRealIp)

然後在網站記錄的日誌定義使用main這個日誌格式

比如

access_log /home/wwwlogs/abc.com.log main;

參考來源:https://www.bnxb.com/php/27592.html

NGINX配置獲取CloudFlare 下的訪客真實IP並記錄到日誌