map $remote_addr $ip_anonym1 { default 0.0.0; "~(?P(\d+)\.(\d+)\.(\d+))\.\d+" $ip; "~(?P[^:]+:[^:]+):" $ip; } map $remote_addr $ip_anonym2 { default .0; "~(?P(\d+)\.(\d+)\.(\d+))\.\d+" .0; "~(?P[^:]+:[^:]+):" ::; } map $ip_anonym1$ip_anonym2 $ip_anonymized { default 0.0.0.0; "~(?P.*)" $ip; } log_format anonymized '$ip_anonymized - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';