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 第 1 頁的 ip

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

然後使用相同的命令 awk page2 或 admin 上的 ip 並將它們儲存在其他位置。

相關內容