คำถามติดแท็ก x-forwarded-for

1
วิธีบันทึกค่าดั้งเดิมของ $ remote_addr เมื่อใช้ Real-IP
สภาพแวดล้อมของฉันมีคำขอของผู้ใช้ที่ส่งผ่านระบบจำนวนมาก: [ลูกค้า] -> [ELB] ---> [nginx] -> [เว็บ] (ELB = AWS ตัวโหลดบาลานซ์แบบยืดหยุ่น) ขอบคุณคำตอบนี้ฉันมี nginx ที่กำหนดและส่งต่อที่อยู่ IP ของไคลเอ็นต์ที่ถูกต้องไปยังเซิร์ฟเวอร์ upstream (เว็บ) ด้วยX-Forwarded-ForและX-Real_IPส่วนหัว การกำหนดค่า nginx ที่เกี่ยวข้อง: real_ip_header X-Forwarded-For; set_real_ip_from 10.0.0.0/8; real_ip_recursive on; proxy_set_header X-Real-IP $remote_addr; ปัญหาของฉันคือสิ่งนี้โมดูล Real IP ใน nginx จะแทนที่$remote_addrตัวแปรที่มีอยู่ด้วยผลลัพธ์ของการX-Forwarded-Forคำนวณ สิ่งนี้ทำให้ IP ไคลเอนต์ต้นทางของฉัน แต่ฉันสูญเสียที่อยู่ IP ของระบบที่ส่งคำขอไปยังพรอกซี (เช่น ELB) โดยรวมแล้วการมี IP ของลูกค้าสำคัญกว่าสำหรับฉัน แต่ฉันต้องการบันทึกการร้องขอทั้งหมดเพื่อให้ฉันสามารถเข้าใจ …

2
Apache mod_remoteip และเข้าถึงบันทึก
ตั้งแต่ Apache 2.4ฉันเริ่มใช้mod_remoteipแทนmod_extract_forwardedสำหรับการเขียนที่อยู่ไคลเอนต์จากx-forwarded-ให้ไว้โดยเซิร์ฟเวอร์ส่วนหน้า (วานิช, ปลาหมึก, apache และอื่น ๆ ) จนถึงตอนนี้ทุกอย่างทำงานได้ดีกับโมดูลเช่น php, cgi, wsgi ฯลฯ ... - ที่อยู่ไคลเอนต์แสดงตามที่ควร แต่ฉันไม่สามารถเขียนที่อยู่ลูกค้าในบันทึกการเข้าถึง (% a,% h,% {c } ก) ไม่มีโชค - ฉันจะได้รับ 127.0.0.1 (localhost forward ex.) เสมอ วิธีบันทึกที่อยู่ IP ของลูกค้าเมื่อใช้ mod_remoteip อัปเดต: IT WORKS O_O - ดูคำตอบด้านล่าง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.