Cara Menampilkan Request Post Data di Access Log Nginx

Kamis, 17 Desember 2020

Cara Menampilkan Request Post Data di Log Nginx. Secara default format logging di Nginx (combined/main) tidak menampilkan value dari post data request. Nah, karena suatu kebutuhan khusus, saya berencana untuk menampilkan value dari post data tersebut. Untungnya di Nginx hal tersebut bisa dilakukan tanpa harus menginstall modul tambahan.

Kita tinggal menambahkan $request_body di format log Nginx nya agar data dari post request ikut tertangkap.



Sebagai contoh, ini adalah format log yang saya pakai:

log_format  postdata  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$request_body"';
Lalu tinggal kita definisikan saja format lognya di serverblock ataupun di block http nginx.conf.
Contoh:
access_log /var/log/nginx/linuxsec.log postdata;
Dan ini adalalah hasil testing ketika kita melakukan post request ke server.
curl linuxsec.org -d "LinuxSec Test Post Data Logging"
Dan ini contoh lognya:
192.168.1.1 - - [17/Dec/2020:07:32:05 +0000] "POST / HTTP/1.1" 200 21 "-" "curl/7.72.0" "-" "LinuxSec Test Post Data Logging"

Oke mungkin itu saja sharing kali ini. Semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Artikel Terkait Nginx