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