Ich habe Nginx vor einer Spring Boot 1.3.3-Anwendung mit aktiviertem Tomcat-Zugriffsprotokoll, aber die Protokollierung schreibt immer die Proxy-IP-Adresse (127.0.0.1) anstelle der realen Client-IP.Wie protokolliere ich die echte Client-IP auf dem eingebetteten Tomcat-Zugriffsprotokoll der Spring Boot-Anwendung mit Nginx als Reverse Proxy?
- Wird der X-Real-IP-Header verwendet, um die echte Client-IP zu erhalten?
- Wird diese Kopfzeile von Tomcat verwendet, um die IP-Adresse in das Zugriffsprotokoll zu schreiben?
Ich habe diese Konfiguration:
application.properties
server.use-forward-headers=true
server.tomcat.internal-proxies=127\\.0\\.0\\.1
server.tomcat.accesslog.enabled=true
Nginx Konfiguration:
location/{
proxy_pass http://127.0.0.1:8091;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
}
keine allgemein die 'X-Forwared-For' ein. Verwenden Sie auch einen externen Client oder rufen Sie ihn vom selben Server an? –