ฉันใช้ Apache 2.4 บน Debian Bullseye บน LAN หลังเราเตอร์ DSL พร้อมที่อยู่ IPv4 และ IPv6 แบบไดนามิก เว็บเซิร์ฟเวอร์ของฉันทำงานเป็นจุดสิ้นสุด TLS และให้บริการหน้าต่างๆ หน้าเหล่านี้บางหน้าต้องเข้าถึงได้ทางอินเทอร์เน็ต ในขณะที่หน้าอื่นๆ ควรใช้ได้บน LAN ในพื้นที่ของฉันเท่านั้น การเข้าถึงจากอินเทอร์เน็ตใช้งานได้ แต่ฉันกำลังดิ้นรนเพื่อให้หน้า LAN-only ทำงานได้ ฉันมีสิ่งต่อไปนี้ในการกำหนดค่า Apache ของฉัน:
<Location /localonlystuff>
Require local
Require ip 192.168.0.0/24
</Location>
สิ่งนี้อนุญาตให้เข้าถึงจากโฮสต์ในพื้นที่ (ตกลง) จากโฮสต์ทั้งหมดในส่วน LAN ของฉันโดยใช้ IPv4 (เครือข่ายส่วนตัว 192.168.0.0/24) และปฏิเสธการเข้าถึงจากอินเทอร์เน็ต อย่างไรก็ตาม ไม่อนุญาตให้เข้าถึงจากโฮสต์บนส่วน LAN ของฉันโดยใช้ IPv6 เนื่องจากไม่มีช่วง IPv6 ที่อนุญาตที่นี่ Apache จึงปฏิเสธการเข้าถึง
ในทางทฤษฎี ผมสามารถเพิ่มได้ ต้องการ ip 1234:5678:9012:3456::/64
ไปยังไฟล์ที่แสดงด้านบน อย่างไรก็ตาม ISP ของฉันกำหนดช่วง IPv6 แบบไดนามิกและเปลี่ยนทุก 24 ชั่วโมง ดังนั้นรายการคงที่จะไม่ถูกต้องเป็นเวลานาน ข้าพเจ้าได้พิจารณาอนุญาตแล้ว เฟ80::
แต่การแก้ไข DNS บนเครือข่ายของฉันชี้ไปที่คำนำหน้าที่ ISP ให้มา ไม่ใช่ลิงก์ที่อยู่ในเครื่อง
ฉันได้อ่านเอกสารเกี่ยวกับ mod_authz_host และเห็นหัวข้อนี้แล้ว ต้องการโฮสต์
. นี่อาจจะบรรลุสิ่งที่ฉันต้องการ (เราเตอร์ของฉันตั้งค่าโดเมนในเครื่องด้วยการค้นหาแบบย้อนกลับ) แต่ฉันเกรงว่าวิธีนี้จะขึ้นอยู่กับสิ่งต่าง ๆ เช่น DNS Cache เป็นพิษหรือการโจมตีแบบปลอมแปลง ทำให้บุคคลภายนอกเข้ามาในเครือข่ายของฉัน ฉันต้องการโซลูชันในเครื่องเซิร์ฟเวอร์ของฉัน ซึ่งฉันพูดได้ว่าเทียบเท่ากับ ต้องการอินเตอร์เฟส lan0
เพื่ออนุญาตไคลเอนต์ทั้งหมดในช่วงเครือข่ายที่กำหนดค่าไว้ แลน0
ในขณะที่ร้องขอ - คล้ายกับวิธีที่คุณสามารถทำให้ Apache ฟังที่อยู่ IP ทั้งหมดบนอินเทอร์เฟซที่กำหนด อย่างไรก็ตาม ฉันไม่พบเอกสารใด ๆ เกี่ยวกับเรื่องนี้
มีวิธีการทำงานนี้หรือไม่ (อนุญาตเฉพาะโฮสต์จากเครือข่าย IPv6 ในพื้นที่) อาจใช้วิธีอื่นที่ไม่ใช่ mod_authn_host
ฉันยังเปิดรับคำแนะนำนอกเหนือจากการพึ่งพาการรับรองความถูกต้อง ฉันสามารถยุ่งกับการกำหนดค่า Apache ของฉันได้อย่างกว้างขวาง แต่ฉันแทบจะไม่สามารถเปลี่ยนแปลงการกำหนดค่าใด ๆ กับเราเตอร์ของฉันได้ โปรดพิจารณาด้วยว่าฉันมี virutal_host SSL เดียวเท่านั้นที่เรียกใช้ใบรับรอง Let's Encrypt