Kullanıcı adını nginx günlüklerinde saklama


10

Kullanıcı adı veya kullanıcı kimliğinin nginx günlüklerinde saklanabileceği bir yol var mı? Log_format yönergesine $ remote_user eklemeyi denedim ama işe yaramıyor.

Yanıtlar:


11

Evet, bu mümkün. Ancak, HTTP temel kimlik doğrulamasını kullanmadığınızdan, Nginx'e geçerli kullanıcı adının ne olduğunu bildirmek için uygulamanıza ihtiyacınız olacaktır. Şu satırlara bir yanıt başlığı ekleyin:

X-Username: nishant

Ardından, log_formatdirektifinizde değişkeni kullanın $sent_http_x_username. Bu davranış burada belgelenmiştir: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER

Ayrıca istemciye göndermeden önce bu ekstra üstbilgiyi yanıttan kaldırmanızı da öneririz. Bunu NginxHttpHeadersMoreModule ile yapabilirsiniz .

more_clear_headers 'X-Username';

Bana nasıl bir yanıt başlığı ekleyeceğinizi söyleyebilir misiniz?
— nishant

@nishant Bu tamamen kodunuza bağlıdır. Yanıt başlığında bir şey yazmanız veya kullanıcı adını çıktılamak için gerekeni değiştirmeniz gerekecektir.
— Brad

Web uygulaması django tabanlı.
— nishant

@nishant Django ile hiçbir şey yazmadım, bu yüzden size özel tavsiyeler veremem, ancak ara katman yazılımını desteklediği anlaşılıyor. Ekstra başlık eklemekle ilgilenen bir ara katman modülü yazardım.
— Brad
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.