apache 日誌中記錄代理IP以及真實客戶端IP
說明:我用的是nginx反向代理,實際上就是在logformat中新增%{X-FORWARDED-FOR}i,下面為實驗過程
一、下面是我的nginx反向代理的配置檔案內容
nginx主配置主配置檔案
[root@nginx-server conf]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65 ;
upstream lb_server {
server 192.168.17.10;
server 192.168.17.11;
}
include extra/lbserver.conf;
}
lbserver配置檔案
[[email protected] conf]# cat extra/lbserver.conf
server {
location / {
proxy_pass http://lb_server;
proxy_set_header Host $host;
proxy_set _header X-Forwarded-For $remote_addr;
}
}
二、修改前
沒有修改訪問日誌格式前的apache配置檔案
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" common
</IfModule>
發現不能記錄訪問者的ip
[[email protected] ~]# tail -f /application/apache/logs/www-access_log
192.168.17.13 - - [04/Dec/2016:13:40:29 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:40:31 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:40:34 +0800] "GET / HTTP/1.0" 200 35
2.168.17.13 - - [04/Dec/2016:13:40:36 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:40:38 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:56:23 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:56:25 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:56:27 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:56:29 +0800] "GET / HTTP/1.0" 200 35
192.168.17.13 - - [04/Dec/2016:13:56:31 +0800] "GET / HTTP/1.0" 200 35
三、修改後
修改過訪問日誌格式後的apache配置檔案
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b %{X-FORWARDED-FOR}i" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" common
</IfModule>
修改後再次訪問測試
[[email protected] ~]# > /application/apache/logs/www-access_log
[[email protected] ~]# tail -f /application/apache/logs/www-access_log
192.168.17.13 - - [04/Dec/2016:14:04:49 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:04:51 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:04:53 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:04:55 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:04:57 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:04:59 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:05:01 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:05:03 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
192.168.17.13 - - [04/Dec/2016:14:05:05 +0800] "GET / HTTP/1.0" 200 35 192.168.17.199
附錄:我在客戶機上的測試指令碼
[root@myblog ~]# for n in `seq 20`;do curl www.amsilence.com;sleep 1;done;
注意:如果你在虛擬主機上面引用什麼日誌格式,就需要修改對應日誌格式上的引數,不能改到別的日誌格式上面
相關推薦
apache 日誌中記錄代理IP以及真實客戶端IP
說明:我用的是nginx反向代理,實際上就是在logformat中新增%{X-FORWARDED-FOR}i,下面為實驗過程 一、下面是我的nginx反向代理的配置檔案內容 nginx主配置主配置檔案 [root@nginx-server conf]#
Nginx在多層代理下獲取真實客戶端IP地址
最近在研究nginx中如何獲取真實客戶端IP的方法。眾所周知,在編譯Nginx時,可通過新增http_realip_module模組來獲取真實客戶端IP地址。何為真實IP地址呢?請看下圖,既獲取到的真實客戶端IP是101,既不是正向代理服的104,也不是反向代理的105。
代理後端的 Nginx 限制真實客戶端IP訪問問題
一、背景–當前問題 1、正常情況,nginx 限制ip訪問方式: # nginx http\server 塊中配置 allow 192.168.6.0/16; # allow all; deny 1.2.3.4/32; # deny all;
ABP vNext 審計日誌獲取真實客戶端IP
![](https://img2020.cnblogs.com/blog/2193154/202101/2193154-20210111101509581-9075912.png) ## 背景 在使用ABP vNext時,當需要記錄審計日誌時,我們按照[https://docs.abp.io/zh-Hans/
伺服器獲取真實客戶端 IP
0x01 先查個問題 測試環境微信支付通道提示網路環境未能通過安全驗證,請稍後再試,出現這種情況一般首要 想到可能是雙方網路互動中微信方驗參與我們出現不一致,翻了下手冊確定是這類問題開始排查環節 可能獲取真實IP方式錯誤 getenv('HTTP_CLIENT_IP') g
代理http請求獲取客戶端IP
外界流傳的JAVA/PHP伺服器端獲取客戶端IP都是這麼取的: 虛擬碼: 1)ip = request.getHeader("X-FORWARDED-FOR ") 2)如果該值為空或陣列長度為0或等於"unknown",那麼: ip = request.getHeader("
【ASP介面開發】獲取訪問URL的真實客戶端IP地址
目前專案中需要獲取到訪問介面的客戶端的真實IP,暫時用此做一個簡單的認證。在網上搜了個還算靠譜的,特做下記錄: public strIP if strIP="" then strIP="" '如果沒有定義 strIP 全域性變數則定義它 function getIP()
在上遊服務器日誌中記錄訪問IP
nginx 代理在nginx代理服務器的/etc/nginx/conf.d/中建立nginx-2.conf的子配置文件,內容如下: 第一行和 // 後為解釋內容 編輯完成之後測試代碼: nginx -t 顯示成功重啟nginx服務 在Apache上遊服務器中修改http主配置文件(/etc/httpd/
php中獲取nginx代理後的,客戶端真實IP
一般來說,PHP獲取IP用的是$_SERVER[‘REMOTE_ADDR’],但是經過代理後,這個方式獲取到的是代理伺服器的ip,不符合要求!如果需要獲取真實IP該做什麼呢? 1.修改nginx配置:p
Nginx 日誌中記錄cookie
nginx因開發要求,在Nginx日誌中需要記錄Cookie信息,以便開發查詢系統發生了什麽,我的日誌是以json格式顯示,需要在nginx.conf文件中添加如下信息:1,#vim nginx.confhttp { include mime.types; default_type
nginx反向代理後端web服務器記錄客戶端ip地址
spa gin nginx反向代理 lan form https 記錄 客戶端訪問 use nginx在做反向代理的時候,後端的nginx web服務器log中記錄的地址都是反向代理服務器的地址,無法查看客戶端訪問的真實ip。 在反向代理服務器的nginx.conf配置文件
JAVA中經過nginx反向代理獲取客戶端ip並獲取相關坐標等信息
IT urn 輸出 代理 nginx 高德 AD color javascrip 關於搜狐新浪ip庫查詢接口的使用 直接輸出訪客ip及所在城市: <script src="http://pv.sohu.com/cityjson?ie=utf-8" >&l
Apache日誌不記錄訪問靜態檔案,訪問日誌切割,靜態元素過期時間設定
Apache配置不記錄訪問靜態檔案的日誌 網站大多元素為靜態檔案,如圖片、css、js等,這些元素可以不用記錄 vhost原始配置 <VirtualHost *:80> ServerAdmin [email protected]
請求方報超時,服務日誌中記錄的時間卻少有超時
請求方報超時的比例大概有4% 他們設定的超時時間是500ms 但是我們統計日誌,服務時間超過500ms的日誌很少 原因是什麼呢? 超時原因分析: 1、請求內容太長 根據請求方超時日誌, 大多數query的長度都是1w以上,這些query我手動請求,響應時
讀取系統"安全"日誌中的失敗登入嘗試 + 新增攻擊者IP到防火牆策略
Private Sub btnRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt
在v$session表中記錄客戶端IP
我們在查詢v$session表時,只能看到客戶端的機器名,而無法看到客戶機的IP地址。要想檢視IP地址可以建立一個數據庫級別的觸發器,在成功使用者登陸資料庫後將客戶的IP地址寫入v$session的client_info欄位中。 按如下方法建立這個觸發器(trigger):
c#中獲取伺服器IP,客戶端IP以及Request.ServerVariables詳細說明
客戶端ip: Request.ServerVariables.Get(“Remote_Addr”).ToString(); 客戶端主機名: Request.ServerVariables.Get(“Remote_Host”).ToString();
使用python找出nginx訪問日誌中訪問次數最多的10個ip排序生成網頁
#encoding=utf-8 # 找到日誌中的top 10,日誌格式如下 #txt = '''100.116.167.9 - - [22/Oct/2017:03:55:53 +0800] "HEAD /check HTTP/1.0" 200 0 "-" "-" "-" ut = 0.001''' #n
nginx做反向代理時,配置其讓tomcat的日誌獲取客戶端ip
在nginx的配置檔案nginx.conf中配置,加上proxy_set_header X-real-IP $remote_addr。 server { listen 80; server_nam
通過nginx反向代理,Tomcat獲取真實的客戶端IP而非伺服器IP
通過nginx反向代理,就獲取不到真實ip,是獲取的nginx的ip,要得到真實的IP要進行配置Nginx的配置檔案: nginx.conf proxy_set_header X-Real-IP $remote_addr; 例如: ##################