致力于为用户提供真实的
主机测评数据及优惠信息

【水一贴】nginx 日志 X_Forwarded_For 取 IPv6 格式

网友 iks 说:

目前广为流传的取真实 IP 的格式都是诸如 ~^(?P<firstAddr>[0-9.]+),?.*$ $firstAddr; 此类的,,,
这个正则只能匹配数字结构的 IPv4 地址,遇到字母就切断,,,造成 IPv6 取不完整

目前可以用以下字段代替原来的正则

  1. map $http_x_forwarded_for $realClientIp
  2. {
  3.     def**lt $remote_addr;
  4.     ~^(?P<firstAddr>[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[0-9a-fA-F]+:[0-9a-fA-F:]+:[0-9a-fA-F\.]+),?.*$ $firstAddr;
  5. }
  6. log_format main ‘$realClientIp [$time_local] &*uot;$re*uest&*uot; ‘
  7.     ‘$status $body_bytes_sent &*uot;$http_referer&*uot; ‘
  8.     ‘$http_user_agent $remote_addr’;
赞(0) 打赏
未经允许不得转载:爱主机 » 【水一贴】nginx 日志 X_Forwarded_For 取 IPv6 格式
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址