在Nginx日志中,可以通過分析$http_referer
變量來查看訪問來源。$http_referer
變量包含了用戶代理從哪個頁面鏈接訪問當前頁面的信息。要查看訪問來源,你需要在Nginx配置文件中的log_format
指令中定義一個新的日志格式,然后在access_log
指令中使用這個新的日志格式。
以下是一個示例,展示了如何在Nginx配置文件中定義一個新的日志格式以查看訪問來源:
打開Nginx配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your_domain.conf
。
在http
塊中,定義一個新的日志格式,例如:
http {
log_format referer_log '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
}
在這個示例中,我們創建了一個名為referer_log
的新日志格式,其中包含了$http_referer
變量。
server
塊中,使用新的日志格式:server {
...
access_log /var/log/nginx/access.log referer_log;
...
}
這里我們將新的日志格式referer_log
應用于access_log
指令。
sudo nginx -t # 檢查配置文件語法是否正確
sudo nginx -s reload # 重新加載配置文件
現在,Nginx訪問日志將包含訪問來源信息。你可以使用以下命令查看訪問來源:
grep "\"http_referer\"" /var/log/nginx/access.log
這將顯示所有訪問來源的記錄。如果你想查看特定時間范圍內的訪問來源,可以使用awk
、sed
等工具進行篩選。