Il servizio di reindirizzamento OpenSHIFT per HTTPS perde l'indirizzo IP degli utenti
-
21-12-2019 - |
Domanda
Ciao Iam reindirizzamento di tutto il mio traffico verso https come suggerito nella base della conoscenza: https://openshift.redhat.com/community/kb/kb-e1044-How-Te1044-How-ToRerect-traffic-to-Https
Tuttavia dopo aver effettuato questo IAM non è in grado di ottenere l'indirizzo IP degli utenti e ottenere invece l'indirizzo IP del server che sta reindirizzando:
Di seguito è riportato un esempio di un'implementazione specifica di MVC Spring Java.L'attualeViewEdip diventa i server che hanno reindirizzato a https anziché gli utenti IP.
@RequestMapping(value = "/payment/", method = RequestMethod.GET)
public String newBracqet(Model model, HttpServletRequest request) {
String currentViewedIP = request.getRemoteAddr();
}
. Soluzione
Se l'utente è dietro un server proxy o accedi al server Web tramite un bilanciatore di carico (ad esempio, nell'hosting del cloud), il codice di cui sopra otterrà l'indirizzo IP del server Proxy o Carica Bailancer Server, non l'indirizzo IP originaledi un cliente.
Per risolverlo, è necessario ottenere l'indirizzo IP dell'intestazione HTTP della richiesta "X-Inolthed-for (XFF)".
//is client behind something?
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
.