Nginx 反向代理Tomcat服務器獲取真實IP問題

1.nginx.conf 配置html

修改 Server location配置nginx

增長web

proxy_set_header X-Real-IP $remote_addr; #保留代理以前的真實客戶端ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#記錄代理過程apache

    server {
           listen   7777;
           server_name  192.168.10.8:7777;
           location / {
               root   /usr/local/web/dist;
               index  index.html index.htm;
            }
           location /unstructured/ {
                proxy_pass http://192.168.10.8:8080/unstructured/;
                proxy_set_header    X-Real-IP        $remote_addr;
                proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
    
            }
    }

2 修改 tomcat conf目錄下server.xml配置tomcat

  增長 Valve className="org.apache.catalina.valves.RemoteIpValve" 配置代理

       修改 Valve className="org.apache.catalina.valves.AccessLogValve" pattern中的配置%h  --->%{X-Real-IP}i 便可日誌

			<Valve className="org.apache.catalina.valves.RemoteIpValve"   
                       remoteIpHeader="x-forwarded-for"
                       remoteIpProxiesHeader="x-forwarded-by" />
					   
			<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" />

  

經過以上兩步的設置,咱們在tomcat的日誌文件 localhost_access_log.2019-07-02 能夠看到記錄了真實的ip地址,而非原先的nginx服務的ip。server

相關文章
相關標籤/搜索