তার জন্য, সেরা সমাধানটি হ'ল আপনি যেমন বলেছেন, 3 বিভিন্ন মেশিনে আইপেটেবল।
আসলে, এটি কোনও ভাল সমাধান নয় কারণ রিমোট আইপি ( $remote_addr
এনগিনেক্সে) অ্যামাজনের লোডবালেন্সার থেকে আসবে। নিষেধাজ্ঞার ফলে সমস্ত ট্র্যাফিক ফরওয়ার্ড করা নিষিদ্ধ হয়ে যাবে।
আপনাকে প্যাকেটগুলি পরিদর্শন করতে হবে এবং এইচটিটিপি X-Forwarded-For
শিরোনামটি সন্ধান করতে হবে, আইপেটেবলস এর মতো প্রোটোকল সচেতন নয়।
আমি এনগিনেক্সে 2 দুষ্টু আইপি নিম্নলিখিত সমাধানের জন্য স্থির হয়েছি
set $client_ip $remote_addr;
if ($http_x_forwarded_for) {
set $client_ip $http_x_forwarded_for;
}
if ($client_ip = "123.123.123.123") {
return 403;
}
if ($client_ip = "123.123.123.234") {
return 403;
}
একটি ভেরিয়েবলের পরিচয় করিয়ে দেওয়া হচ্ছে $client_ip
, যাতে আমি স্থানীয়ভাবে এটি পরীক্ষা করতে পারি, যেখানে কোনও http_x_forwarded_for
উপলভ্য নেই ..
সামান্য অফটোপিক তবে সুবিধার জন্য পোস্ট করা, আমি ক্লায়েন্ট আইপি আমার অ্যাক্সেস লগগুলিতে যুক্ত করেছি:
log_format main "\$client_ip - \$remote_user [\$time_local] \"\$request\" \$status \$body_bytes_sent \"\$http_referer\" \"\$http_user_agent\"";
access_log /var/log/nginx.access.log main;
এটি সুন্দর নয়, তবে আশা করি এটি সাহায্য করবে