Lưu tên người dùng trong nhật ký nginx


10

Có cách nào để lưu tên người dùng hoặc id người dùng trong nhật ký nginx không. Tôi đã thử chèn $ remote_user vào lệnh log_format nhưng có vẻ như nó không hoạt động.

Câu trả lời:


10

Vâng, điều này là có thể. Tuy nhiên, vì bạn không sử dụng HTTP auth cơ bản, bạn sẽ cần ứng dụng của mình để cho Nginx biết tên người dùng hiện tại là gì. Thêm một tiêu đề phản hồi dọc theo dòng:

X-Username: nishant

Sau đó, trong log_formatchỉ thị của bạn , sử dụng biến $sent_http_x_username. Hành vi này được ghi lại ở đây: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER

Tôi cũng khuyên bạn nên xóa tiêu đề bổ sung này khỏi phản hồi trước khi gửi nó cho khách hàng. Bạn có thể làm điều này với NginxHttpHeadersMoreModule .

more_clear_headers 'X-Username';

Bạn có thể vui lòng cho tôi biết làm thế nào để thêm một tiêu đề phản hồi?
Nishant

@ Vecant Điều đó phụ thuộc hoàn toàn vào mã của bạn. Bạn sẽ phải viết một cái gì đó hoặc sửa đổi những gì bạn có để xuất tên người dùng trong tiêu đề phản hồi.
Brad

Ứng dụng web dựa trên django.
Nishant

@ Vecant Tôi chưa viết bất cứ điều gì với Django vì vậy tôi không thể cho bạn lời khuyên cụ thể, nhưng có vẻ như nó hỗ trợ phần mềm trung gian. Tôi sẽ viết một mô-đun phần mềm trung gian, đảm nhiệm việc thêm tiêu đề bổ sung.
Brad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.