深入理解nginx的access.log文件
日志文件能夠幫助我們快速的定位問(wèn)題,并且知道用戶訪問(wèn)的狀態(tài),瀏覽器,Ip,接口地址等。
一、nginx的access.log
(1)日志文件一般存放在 /var/log/nginx 下,直接使用 tail -f命令即可查看access日志。

(2)access.log具體每項(xiàng)代表的意思
參數(shù) 說(shuō)明 示例 $remote_addr 客戶端地址 211.28.65.253 $remote_user 客戶端用戶名稱 -- $time_local 訪問(wèn)時(shí)間和時(shí)區(qū) 18/Jul/2012:17:00:01 +0800 $request 請(qǐng)求的URI和HTTP協(xié)議 "GET /article-10000.html HTTP/1.1" $http_host 請(qǐng)求地址,即瀏覽器中你輸入的地址(IP或域名) www.it300.com 192.168.100.100 $status HTTP請(qǐng)求狀態(tài) 200 $upstream_status upstream狀態(tài) 200 $body_bytes_sent 發(fā)送給客戶端文件內(nèi)容大小 1547 $http_referer url跳轉(zhuǎn)來(lái)源 https://www.baidu.com/ $http_user_agent 用戶終端瀏覽器等信息 "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C; $ssl_protocol SSL協(xié)議版本 TLSv1 $ssl_cipher 交換數(shù)據(jù)中的算法 RC4-SHA $upstream_addr 后臺(tái)upstream的地址,即真正提供服務(wù)的主機(jī)地址 10.10.10.100:80 $request_time 整個(gè)請(qǐng)求的總時(shí)間 0.205 $upstream_response_time 請(qǐng)求過(guò)程中,upstream響應(yīng)時(shí)間 0.002
(3)這個(gè)access.log 的格式是可以自己自定義的,自定義的位置在nginx.conf中設(shè)置

這是我本地的配置。紅箭頭部分的’access’是指定格式的名稱。如果大家不定義的話,那就會(huì)選擇默認(rèn)的main,
對(duì)用默認(rèn)的模板。下面的箭頭部分代表日志存放的路徑以及所選擇的格式。
(4)假設(shè)將Nginx服務(wù)器作為Web服務(wù)器,位于負(fù)載均衡設(shè)備、Squid、Nginx反向代理之后,不能獲取到客戶端的真實(shí)IP地址了。原因是經(jīng)過(guò)反向代理后,由于在客戶端和Web服務(wù)器之間增加了中間層,因此Web服務(wù)器無(wú)法直接拿到客戶端的IP。通過(guò)$remote_addr變量拿到的將是反向代理服務(wù)器的IP地址。
但是,反向代理服務(wù)器在轉(zhuǎn)發(fā)請(qǐng)求的HTTP頭信息中,可以增加X(jué)-Forwarded-For信息,用以記錄原有的客戶端IP地址和原來(lái)客戶端請(qǐng)求的服務(wù)器地址。
這時(shí)候,要用log_format指令設(shè)置日志格式,讓日志記錄X-Forearded-For信息中的IP地址,即客戶的真實(shí)IP。上圖格式的最后部分,顯示的就是用$http_x_forwarded_forlog_for變量記錄用戶的X_Forwarded-For IP 地址。
到此這篇關(guān)于深入理解nginx的access.log文件的文章就介紹到這了,更多相關(guān)nginx access.log內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx代理服務(wù)器配置雙向證書(shū)驗(yàn)證的方法
今天小編就為大家分享一篇關(guān)于nginx代理服務(wù)器配置雙向證書(shū)驗(yàn)證的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Nginx隱藏server頭信息的實(shí)現(xiàn)
本文主要介紹了Nginx隱藏server頭信息的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
淺析nginx剛剛發(fā)布的JavaScript能力nginScript
Nginx [engine x]是全球最受歡迎,也是最優(yōu)秀的web服務(wù)器、反向代理服務(wù)器。nginScript是JavaScript/ECMAscript的子集,nginScript不是通過(guò)V8引擎實(shí)現(xiàn)的。本文給大家介紹nginx剛剛發(fā)布的JavaScript能力nginScript,感興趣的朋友跟著小編一起了解了解吧2015-09-09
nginx中(13: Permission denied)權(quán)限問(wèn)題的解決辦法
"nginx 13: Permission denied" 錯(cuò)誤通常表示nginx進(jìn)程沒(méi)有足夠的權(quán)限來(lái)訪問(wèn)特定的文件或目錄,本文就來(lái)介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
在Ubuntu上安裝Nginx的實(shí)現(xiàn)過(guò)程
本文詳細(xì)介紹了在Ubuntu系統(tǒng)中從源碼安裝Nginx的步驟,包括更新系統(tǒng)、安裝依賴、下載源碼、配置編譯選項(xiàng)、編譯安裝、創(chuàng)建專用用戶、配置Systemd服務(wù)、調(diào)整防火墻、驗(yàn)證安裝、管理和維護(hù)Nginx等內(nèi)容2026-04-04

