ฉันต้องการจำกัดการเข้าถึงเซิร์ฟเวอร์ Pastebin ของฉัน (ฉันใช้ Zerobin) เพื่อให้ IP ที่ไม่น่าเชื่อถือสามารถเปิดได้เฉพาะความลับ แต่ไม่สามารถสร้างขึ้นได้
(โปรดทราบว่า url https://fakepastebin.com
ด้านล่างเป็นเพียงตัวอย่างเพื่อประโยชน์ในการให้บริบทของคำถามนี้)
IP ที่เชื่อถือได้: อนุญาตให้เข้าถึง https://fakepastebin.com (หน้าแรกที่พวกเขาสามารถสร้างความลับได้)
IP ที่ไม่น่าเชื่อถือ: อนุญาตการเข้าถึงเฉพาะความลับเท่านั้น (เช่น https://fakepastebin.com/?29c6692368e9edc9#G4j8Y2w). โดยพื้นฐานแล้วหลังจากนั้น https://fakepastebin.com/?*
สิ่งที่ต้องการ :
acl trust-ip src -f /etc/haproxy/whitelist.lst
acl เพจที่ไม่มีการป้องกัน path_beg ^/..*$
ฉันจะทำให้หน้าที่ไม่มีการป้องกันสามารถเข้าถึงได้โดย IP ทั้งหมดได้อย่างไร ฉันไม่เคยพยายามจำกัดหน้าหลักมาก่อน...เฉพาะหน้าย่อย ดังนั้นฉันไม่แน่ใจว่าจะทำอย่างไร ขอบคุณสำหรับการตอบรับ!
อัปเดต:
ด้วยสิ่งเหล่านี้ ตอนนี้ฉันสามารถป้องกัน IP ที่ไม่น่าเชื่อถือไม่ให้ไปที่ URL ระดับบนสุด:
acl url_my_app hdr_dom (โฮสต์) -i fakepastebin.com
acl top_level_uri path_reg ^/$
ข้อความค้นหา acl app-query -m reg ^(pasteid=)*[0-9a-zA-Z]{16}$
คำขอ http ปฏิเสธหาก url_my_app top_level_uri !app-query !trusted_ips
อย่างไรก็ตาม ฉันสังเกตว่าหากฉันเรียกดู https://fakepastebin.com/foobahshshshhs
มันจะเปลี่ยนเส้นทางฉันไปที่ uri ระดับบนสุด และฉันสามารถเข้าถึงได้ ซึ่งไม่ใช่สิ่งที่ฉันต้องการ :( ฉันจะทำให้ haproxy ปฏิเสธการเข้าถึง IP ที่ไม่น่าเชื่อถือไปยัง uri ระดับบนได้อย่างไร https://fakepastebin.com
?
ขอบคุณ