ฉันเดิมนี้โพสต์ที่webmasters.stackexchange.comแต่ก็บอกว่าฉันจะได้รับการต้อนรับที่ดีกว่าที่นี่
ในช่วงไม่กี่วันที่ผ่านมาฉันได้รับความทุกข์ทรมานจากสิ่งที่ดูเหมือนว่าจะเป็นการโจมตี DDOS (โดยไม่ตั้งใจ) ฉันได้รับคำขอมากมายจากตัวแทนที่ระบุว่า "Mozilla / 4.0 (Compatible; ICS)" ซึ่ง apache จะกินผ่านหน่วยความจำที่มีอยู่ทั้งหมด
ดังนั้นฉันต้องการปิดกั้นคำขอทั้งหมดที่มาพร้อมกับตัวแทนผู้ใช้นี้ดังนั้นฉันจึงลองทำสิ่งนี้ใน httpd.conf:
SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user
แต่เมื่อฉันรีสตาร์ท apache มันบ่นเกี่ยวกับการใช้deny
ที่นี่ โดยไม่ต้องห่อในlocation
หรือdirectory
บล็อกซึ่งหมายความว่าฉันจะต้องเพิ่มบล็อกใหม่สำหรับแต่ละเว็บไซต์มีวิธีที่ฉันสามารถปฏิเสธการเข้าถึงเซิร์ฟเวอร์ทั้งหมดหรือไม่
ปรับปรุง: ข้อผิดพลาดที่ฉันได้รับ
- การรีสตาร์ทเว็บเซิร์ฟเวอร์ apache2
ข้อผิดพลาดทางไวยากรณ์ในบรรทัดที่ 4 ของ /etc/apache2/httpd.conf: ปฏิเสธไม่อนุญาตที่นี่ [ล้มเหลว]
<Location>
ในขณะที่มันจะแทนที่ข้อ จำกัด การอนุมัติอื่น ๆ ในเว้นแต่คุณเพิ่ม<Directory>
AuthMerging And
ดูคำเตือนความปลอดภัยเกี่ยวกับRequire
ในเอกสาร apache: httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require