ฉันพยายาม จำกัด การเข้าถึงทรัพยากรที่อยู่เบื้องหลัง Nginx โดยอ้างอิงจาก IP ของลูกค้าที่ส่งผ่านในส่วนหัว X-forwarded-for Nginx กำลังทำงานอยู่ในคอนเทนเนอร์บน Kubernetes Cluster บน Google Cloud Platform และ ips ไคลเอ็นต์จริงจะถูกส่งผ่านในส่วนหัวแบบส่งต่อสำหรับ x เท่านั้น
จนถึงตอนนี้ฉันจัดการเพื่อทำ IP เดียวด้วยรหัสต่อไปนี้:
set $allow false;
if ($http_x_forwarded_for ~* 123.233.233.123) {
set $allow true;
}
if ($http_x_forward_for ~* 10.20.30.40) {
set $allow false;
}
if ($allow = false) {
return 403;
}
แต่ฉันจะทำอย่างนั้นกับ IP ทั้งหมดได้อย่างไร การระบุ IP หลายร้อยด้วยมือไม่สมเหตุสมผล
ความช่วยเหลือทั้งหมดได้รับการชื่นชม
location / { real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; real_ip_recursive on; allow xxx.xxx.xxx.xxx;