banner
libxcnya.so

libxcnya.so

Nothing...
telegram
twitter
github
email

Nginx 自訂 Log 格式

前言#

在使用 CDN 時,Nginx 中的日誌會全是 CDN 的節點 IP,很不方便我們 Debug 之類的

1

為了解決這個問題,我們可以在 Nginx 的配置文件中自定義 Log Format 來實現在日誌中顯示訪客的真實 IP

開始#

首先你要確定自己的 CDN 在響應頭中哪一項包含了使用者的真 IP
具體請參考上一篇文章
然後我們打開 Nginx 的主配置文件,找到 http {} 這一塊
找一個你喜歡的地方插入這一串內容

2

log_format main '$http_cf_connecting_ip / $remote_addr - [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';

在這一串代碼中,main 表示自定義格式的名稱,http_cf_connecting_ip 換成你自己的 CDN 帶有使用者真 IP 的 header,要帶 http_,然後往後的 Log 會以以下格式輸出

使用者 IP / 節點 IP - [訪問時間] "請求方式及目錄" 響應代碼 發送出去的數據包字節大小 來源 Url 使用者 UA

然後找到站點配置的 http {} 這一塊
找到你之前的 access_log 參數,在分號的前面加上 main

3

之後該站點的日誌都會以你自定義的格式輸出

4

結語#

這樣問題就解決了,如果你覺得我寫的文章對你有幫助,
歡迎點個讚,適當打賞,評論區留言你的看法喵~

此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://blog.nekorua.com/posts/maintain/16.html


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。