自分のサイト上の特定の場所への訪問者の 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 を 1 つのファイルに追加して特定の場所で許可し、疑わしい IP を別のファイルに移動してそれらの IP に何らかの制限を設けることをお考えですか?
私の理解が正しければ、1ページ目のIPをawkで取得できます
awk '$7 ~ /^\/page1?/ {print $1}' /path/to/access.log | sort -u > result.txt
次に、同じコマンドを使用してページ2または管理者のIPをawkし、他の場所に保存します。