Junior — Middle
111
Қалай access.log nginx журналдарынан қандай location блогы пайдаланушы сұрауын өңдегенін анықтауға болады?
AI-дан жауап
sobes.tech AI
nginx-тің стандартты access.log файлында сұранысты қай location блогы өңдегені туралы тікелей ақпарат жоқ, себебі логтар тек сұраныстың соңғы нәтижесін (URL, статус, уақыт және т.б.) тіркейді.
Қай location сұранысты өңдегенін анықтау үшін:
-
nginx конфигурациясына айнымалы қосып, оны логқа жазып, location атауын көрсетуге болады. Мысалы, әрбір location ішіне
setдирективасын пайдаланып, бірегей идентификатор орнату. -
log_formatдирективасын пайдаланып, осы айнымалыны лог форматында көрсету.
Мысал:
log_format custom '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$location_name"';
server {
location /images/ {
set $location_name "images_location";
# ...
}
location /api/ {
set $location_name "api_location";
# ...
}
access_log /var/log/nginx/access.log custom;
}
Осылайша, логта сұранысты қай location өңдегені көрсетіледі.