NGINX:如何捕获/记录访问文本文件中给定位置的 IP

NGINX:如何捕获/记录访问文本文件中给定位置的 IP

我希望能够记录/捕获访问我网站上指定位置的访客的 IP。想法是使用 2 个 conf 文件来将其列入白名单或黑名单。

  • 坏人可能会被服务器自动列出并屏蔽
  • 管理员可以访问一个秘密地址,以便在访问管理区域之前将其 IP 列入白名单。

问题是我找不到如何让 nginx 在我的 conf 文件中写入 IP。

例子:

location ~* ^/(trustme)/?$
    add "allow X.X.X.X;" to /etc/nginx/conf.d/trusted-ips.conf;
}

location ~* ^/(admin|wp-admin|control)/?$
    add "deny Y.Y.Y.Y;" to /etc/nginx/conf.d/blacklisted_ips.conf;
}

谢谢

答案1

根据我的理解,您是否想在一个文件中添加受信任的 IP,然后允许它们位于特定位置,而将可疑的 IP 移动到其他文件,然后对这些 IP 进行一些限制?

如果我理解正确的话,你可以 awk ip of page 1

awk '$7 ~ /^\/page1?/ {print $1}' /path/to/access.log | sort -u > result.txt

然后使用相同命令在 page2 或 admin 上 awk ip 并将其存储在其他位置。

相关内容