訪問者の元のIPを取得するためにnginxとHttpRealipModuleをインストールしました。また、nginx.confのhttp{}部分にこれを追加します。
set_real_ip_from 204.93.240.0/24;
set_real_ip_from 204.93.177.0/24;
set_real_ip_from 199.27.128.0/21;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
real_ip_header CF-Connecting-IP;
しかし、私が
netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n
訪問者の IP アドレスを確認するために、取得したすべての IP の ISP が Cloudflare であることがわかりました (それらの IP をトレースしました)。元の IP が表示されないのはなぜか、何か考えはありますか?
- その他の質問ですが、サイトからダウンロードするときにユーザーが使用する同時接続数を制限したいと考えています。limit_conn 4; を使用すると、その目的は達成されますが、ユーザーがダウンロード中にブラウザーからサイトにアクセスしようとすると、503 利用不可というエラーが発生します。接続を制限しながらも、ユーザーが同時にサイトを表示できるようにする方法はありますか?
答え1
netstat
接続は CloudFlare から行われるため、Web ブラウザの IP アドレスは表示されません。これが CloudFlare の仕組みです。
IP アドレスを確認するには、nginx ログを確認する必要があります。