Score:0

ฉันจะกำหนดค่า nginx ให้ส่ง ip ของผู้ใช้ในส่วนหัวการตอบสนองได้อย่างไร

ธง br

ฉันมีเซิร์ฟเวอร์ nginx ที่ฉันติดตั้งบนเซิร์ฟเวอร์ Ubuntu 20.04 ฉันพยายามรับที่อยู่ IP ของผู้ใช้ แต่ดูเหมือนว่า nginx จะไม่ได้รับการกำหนดค่าให้ผ่าน เมื่อดูบันทึกการเข้าถึง /var/log/nginx/access.log - ฉันเห็นที่อยู่ IP ที่ถูกต้อง

ฉันกำลังทดสอบปัญหานี้ด้วยโปรแกรมขวดพื้นฐานด้านล่าง:

จากขวดนำเข้า Flask,jsonify,request

แอป = กระติกน้ำ (__name__)
@app.route('/')
def บ้าน ():
    ส่งคืน jsonify ({"request.remote_addr" : request.remote_addr })
ถ้า __name__ == "__main__":
    app.run(โฮสต์='0.0.0.0')

ไฟล์การกำหนดค่า nginx ลบบรรทัด SSL สำหรับสิ่งนี้คือ:

เซิร์ฟเวอร์{
     server_name test.testweb.com;
     ที่ตั้ง / {
         proxy_pass http://unix:/home/flask/test/test.sock;
     }
}

เมื่อฉันรันสิ่งนี้ด้วยเซิร์ฟเวอร์ flask dev มันทำงานได้ตามที่คาดไว้ เมื่อฉันเรียกใช้บน nginx/gunicorn ฉันได้รับสตริงว่างสำหรับที่อยู่ IP
การกำหนดค่าใดที่จำเป็นสำหรับ nginx เพื่อส่งที่อยู่ IP ของผู้ใช้ไปยังเซิร์ฟเวอร์

Ivan Shatsky avatar
gr flag
ลอง `proxy_set_header X-Forwaded-For $proxy_add_x_forwarded_for;`
afshin avatar
br flag
ลองแล้ว - ใช้งานไม่ได้ในตอนแรก เปลี่ยนคำแนะนำของคุณเป็นดังต่อไปนี้: add_header Access-Control-Allow-Origin *; add_header X-Forwaded-สำหรับ $proxy_add_x_forwarded_for; มันใช้งานได้ - เป็นครั้งแรกที่ฉันเห็น IP ของผู้ใช้ส่งผ่านไปยังส่วนหัวในช่วง 2 วันที่ผ่านมา ขอบใจ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา