全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 650|回复: 1
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2022-6-8 19:32:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前广为流传的取真实 IP 的格式都是诸如 ~^(?P<firstAddr>[0-9.]+),?.*$ $firstAddr; 此类的,,,
这个正则只能匹配数字结构的 IPv4 地址,遇到字母就切断,,,造成 IPv6 取不完整



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

  1. map $http_x_forwarded_for $realClientIp
  2. {
  3.     default $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] "$request" '
  7.     '$status $body_bytes_sent "$http_referer" '
  8.     '$http_user_agent $remote_addr';
复制代码


食用教程
nginx.conf 的 http 块插入



在网站配置界面启用此日志格式



来源 https://www.ziyouwu.com/archives/10958.html
2#
发表于 2022-6-8 20:30:49 来自手机 | 只看该作者
技术贴没人顶啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-17 02:45 , Processed in 0.065223 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表