nginx做反向代理時,配置其讓tomcat的日誌獲取客戶端ip

在nginx的配置文件nginx.conf中配置,加上proxy_set_header X-real-IP $remote_addr。

 server {
                listen       80;
                server_name  www.xxx.cn;

                #charset koi8-r;

                #access_log  logs/host-web.access.log  main;
                gzip on;
                #給http頭部加上兩個變量
                #add_header X-Via $server_addr; #顯示服務器地址


                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Server $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host; #攜帶真實的請求域名

                proxy_set_header X-real-IP $remote_addr;        #轉發給後端的時候,後端都有一個獨特的首部叫做X-real-IP,這個存放真正的客戶端請求ip              
                add_header X-Cache $upstream_cache_status;      #顯示緩存是否命中

                location / {
                        proxy_pass http://server;
                        proxy_connect_timeout 600;
                        proxy_read_timeout 600;
                }

}

tomcat中server.xml配置將默認的%{h}改爲%{X-real-IP}i

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%{X-real-IP}i %l %u %t "%r" %s %b" />




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章