ใน ExpressJS req.ips เป็นคุณสมบัติที่เก็บอาร์เรย์ของที่อยู่ IP ของไคลเอนต์ที่ส่งคำขอไปยังแอปพลิเคชัน ที่อยู่ IP จะถูกเก็บไว้ในหัวข้อ X-Forwarded-For หัวข้อนี้มักจะตั้งค่าโดยพร็อกซีเซิร์ฟเวอร์หรือไฟร์วอลล์
หากต้องการใช้ req.ips ใน ExpressJS คุณสามารถใช้สิ่งนี้ในโค้ดของคุณ:
1 | const app = express(); |
เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/ คุณจะเห็นอาร์เรย์ของที่อยู่ IP ของคุณในคอนโซล
หากแอปพลิเคชันของคุณอยู่เบื้องหลังพร็อกซีเซิร์ฟเวอร์ อาร์เรย์ของที่อยู่ IP ที่คุณเห็นในคอนโซลอาจเป็นอาร์เรย์ของที่อยู่ IP ของพร็อกซีเซิร์ฟเวอร์แทนอาร์เรย์ของที่อยู่ IP ของไคลเอนต์จริง
หากต้องการรับอาร์เรย์ของที่อยู่ IP ของไคลเอนต์จริง คุณสามารถตั้งค่าค่า trustProxy เป็น true ใน app.listen() ตัวอย่างเช่น:
1 | const app = express(); |
เมื่อคุณเรียกใช้โค้ดนี้และเข้าถึง URL http://localhost:3000/ คุณจะเห็นอาร์เรย์ของที่อยู่ IP ของไคลเอนต์จริงในคอนโซล
ความแตกต่างที่สำคัญระหว่าง req.ip และ req.ips คือ req.ip จะคืนค่าที่อยู่ IP เดียวจากหัวข้อ X-Forwarded-For ในขณะที่ req.ips จะคืนค่าอาร์เรย์ของที่อยู่ IP จากหัวข้อ