ฉันค้นหาผ่าน serverfault แต่ไม่พบคำตอบสำหรับเรื่องนี้ บางทีฉันอาจไม่รู้คีย์เวิร์ดที่ถูกต้องหรือเป็นการเข้าใจผิดเชิงแนวคิด ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!
สถานการณ์:
- บริการในเครื่องของฉันทำงานอยู่เบื้องหลังพร็อกซีย้อนกลับ NGINX
- ฉันใช้ LAN DNS บนเราเตอร์ (Draytek) เพื่อแก้ไขคำขอในเครื่องเป็น *.example.com โดยตรงกับเซิร์ฟเวอร์ในเครื่องของฉัน (192.168.1.2)
แม้ว่าจะไม่มีการเชื่อมต่ออินเทอร์เน็ต โดเมนจะได้รับการแก้ไขไปยังเซิร์ฟเวอร์ภายในเครื่องและสามารถเข้าถึงบริการทั้งหมดได้ นั่นเป็นเหตุผลที่ฉันใช้ LAN DNS จนถึงตอนนี้ดีมาก
ตอนนี้ฉันต้องการอนุญาตให้เฉพาะลูกค้าในพื้นที่เข้าถึงบริการบางอย่างได้โดยใช้ โมดูลการเข้าถึง NGINX กับ:
อนุญาต 192.168.1.0/24;
ปฏิเสธทั้งหมด
แต่ NGINX เห็นเฉพาะ IP สาธารณะของเราเตอร์แทนที่จะเป็น IP ของไคลเอนต์ (192.168.1.100) ดังนั้นทุกคำขอจึงถูกปฏิเสธ:
[...] การเข้าถึงถูกห้ามตามกฎ ลูกค้า: 123.123.123.123 เซิร์ฟเวอร์: service.example.de คำขอ: [...]"
คำถามของฉันคือ:
ฉันจะแยกความแตกต่างระหว่างไคลเอนต์โลคัลและรีโมตบน NGINX ในสถานการณ์นี้ได้อย่างไร
เชื่อมโยงไปยังไดอะแกรมเครือข่าย