การจัดเก็บชื่อผู้ใช้ในบันทึก nginx


10

มีวิธีที่ชื่อผู้ใช้หรือรหัสผู้ใช้สามารถเก็บไว้ในบันทึก nginx ฉันพยายามแทรก $ remote_user ในคำสั่ง log_format แต่ดูเหมือนจะไม่ทำงาน

คำตอบ:


11

ใช่มันเป็นไปได้ อย่างไรก็ตามเนื่องจากคุณไม่ได้ใช้การตรวจสอบสิทธิ์พื้นฐาน HTTP คุณจะต้องมีใบสมัครของคุณเพื่อบอก Nginx ว่าชื่อผู้ใช้ปัจจุบันคืออะไร เพิ่มหัวข้อการตอบสนองตามบรรทัดของ:

X-Username: nishant

จากนั้นในของคุณสั่งให้ใช้ตัวแปรlog_format $sent_http_x_usernameพฤติกรรมนี้ได้รับการบันทึกไว้ที่นี่: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER

ฉันยังแนะนำให้ลบส่วนหัวพิเศษนี้ออกจากการตอบกลับก่อนที่จะส่งไปยังลูกค้า คุณสามารถทำเช่นนี้กับNginxHttpHeadersMoreModule

more_clear_headers 'X-Username';

คุณช่วยบอกวิธีเพิ่มหัวข้อการตอบกลับได้ไหม
nishant

@nishant นั้นขึ้นอยู่กับรหัสของคุณทั้งหมด คุณจะต้องเขียนอะไรบางอย่างหรือแก้ไขสิ่งที่คุณต้องออกชื่อผู้ใช้ในส่วนหัวของการตอบสนอง
แบรด

แอปพลิเคชั่นบนเว็บนี้ใช้พื้นฐานของ django
nishant

@nishant ฉันไม่ได้เขียนอะไรกับ Django ดังนั้นฉันจึงไม่สามารถให้คำแนะนำเฉพาะแก่คุณได้ แต่ดูเหมือนว่ามันรองรับมิดเดิลแวร์ ฉันจะเขียนโมดูลมิดเดิลแวร์ที่ดูแลการเพิ่มส่วนหัวพิเศษ
แบรด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.