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.