คุณสามารถตั้งค่า Nginx เพื่อแคชการตอบสนอง รวมถึงการตอบสนองที่มีข้อผิดพลาดเช่น 404 อย่างไรก็ตาม เท่าที่ฉันทราบ คุณไม่สามารถนับจำนวนข้อผิดพลาดได้ (แต่นั่นไม่ควรสำคัญ)
ปัญหาเดียวที่นี่คือถ้าคุณสร้างเพจใหม่และก่อนหน้านี้มันถูกแคชเป็น 404 มันจะไม่ทำงาน อย่างน้อยที่สุด ไม่ใช่ในทันที (ขึ้นอยู่กับระยะเวลาที่แคชของคุณใช้จนหมดเวลา)
นั่นจะช่วยได้มากอย่างแน่นอน ฮิตทั้งหมดที่จะไปที่แบ็กเอนด์ของคุณและสร้าง 404 จะหยุดที่อินสแตนซ์ Nginx และส่งคืนข้อผิดพลาด 404 เดียวกันซ้ำแล้วซ้ำอีก
อีกวิธีหนึ่งคือการกำหนดตำแหน่งและเรียกใช้คำสั่ง (ซึ่งสามารถเรียกใช้ ipset
เพื่อเพิ่มที่อยู่ IP) ดังนั้นสิ่งที่ต้องการ:
ตำแหน่ง /phpmyadmin.php {
content_by_lua_block {
os.execute("/usr/bin/block-ip.sh")
}
}
ฉันไม่แน่ใจเหมือนกันว่าคุณจะจัดการกับเส้นทางต่างๆ ได้อย่างไร
ประสบการณ์ของตัวเองกับ ล้มเหลว 2 แบน
คือค่อนข้างช้าและ "ถอยหลัง" (ไม่ใช่เชิงรุก) หากคุณต้องการบล็อกที่อยู่ IP โดยสิ้นเชิง วิธีที่ง่ายที่สุดคือมีแอปของคุณ ส่งข้อความไปยังส่วนหน้าที่คุณสามารถเรียกใช้ได้ iptables
เพื่อบล็อคไอพี เพื่อที่คุณจะต้องส่งต่อ IP ดั้งเดิมซึ่ง Nginx ไม่ได้ทำโดยค่าเริ่มต้น แต่การเพิ่ม X-ส่งต่อ-สำหรับ
ส่วนหัวว่าแอปของคุณ จากนั้นสามารถส่งกลับไปยังเครื่องมือขนาดเล็กที่คุณใช้เพื่อเพิ่ม IP ให้กับคุณได้ iptables
. โปรดทราบว่าคุณไม่ควรเพิ่มเข้าไปโดยตรง iptables
. คุณควรใช้รายการแทน สำหรับการดูที่ ipset
.
หากคุณไม่สามารถเปลี่ยนแอพของคุณสำหรับสิ่งนั้นได้และต้องการใช้ ล้มเหลว 2 แบน
คุณจะต้องตรวจสอบบันทึกของ Nginx และตรวจหาเส้นทางที่คุณไม่ชอบ