nginx日志打印請(qǐng)求頭信息示例詳解
問題:
發(fā)現(xiàn)nginx轉(zhuǎn)發(fā)的時(shí)候,似乎把在請(qǐng)求頭中自定義的字段弄丟了~~,所以想嘗試打印出請(qǐng)求頭找出具體原因
一、打印nigx請(qǐng)求頭
只需要簡單改造下nginx.conf中的配置即可
http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_user_id" "$http_accept_language" '; access_log logs/access.log main; sendfile on; #tcp_nopush on; underscores_in_headers on; #keepalive_timeout 0; keepalive_timeout 65; server_names_hash_bucket_size 512; client_max_body_size 500m; client_header_buffer_size 32k; large_client_header_buffers 4 32k; }
其中改動(dòng)的位置為
log_format ,打印請(qǐng)求頭中的自定義參數(shù)為user_id,所以要在配置中添加 “$http_user_id” 沒錯(cuò),帶有 $http_ 前綴
access_log logs/access.log main; 使它打印在日志中,查看日志即可
二、但是我的不生效
經(jīng)過不斷嘗試,發(fā)現(xiàn)一個(gè)問題,我的自定義key為 user_id
,但是默認(rèn)情況下,nginx是不支持下劃線字段的!
也就是說如果是 user-id 那么就沒問題
我現(xiàn)在需要的字段就是user_id
在nginx.conf中做加入如下配置:
underscores_in_headers on;
依然是http模塊,上面其實(shí)已經(jīng)有了
總結(jié)
- 打印請(qǐng)求頭中的變量,需要加前綴 $http_
- 想要nginx轉(zhuǎn)發(fā)或者打印帶有下劃線的變量的時(shí)候,需要開啟下劃線的支持 underscores_in_headers on;
到此這篇關(guān)于nginx日志打印請(qǐng)求頭信息的文章就介紹到這了,更多相關(guān)nginx日志打印請(qǐng)求頭信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx代理服務(wù)器配置雙向證書驗(yàn)證的方法
今天小編就為大家分享一篇關(guān)于nginx代理服務(wù)器配置雙向證書驗(yàn)證的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02CentOS6使用nginx搭建web網(wǎng)站服務(wù)的方法
這篇文章主要介紹了CentOS6使用nginx搭建web網(wǎng)站服務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07nginx用正則表達(dá)式實(shí)現(xiàn)泛域名自動(dòng)匹配目錄的方法
這篇文章主要介紹了nginx用正則表達(dá)式實(shí)現(xiàn)泛域名自動(dòng)匹配目錄的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Centos 6.5 64位中Nginx詳細(xì)安裝部署教程
Nginx是一個(gè)web服務(wù)器也可以用來做負(fù)載均衡及反向代理使用,目前使用最多的就是負(fù)載均衡,具體簡介我就不介紹了百度一下有很多,下面直接進(jìn)入安裝步驟,需要的朋友可以參考下2017-08-08