Question

salut iam redirige tout mon trafic vers https comme suggéré dans la base de connaissances: https://openshift.redhat.com/community/kb/kb-e1044-how-to-redirect-traffic-a-htttps

Cependant, après cela, je suis incapable d'obtenir l'adresse IP des utilisateurs et obtenez plutôt l'adresse IP du serveur qui redirige:

ci-dessous est un exemple de mise en œuvre spécifique de Java Spring Spring MVC.Le courant Viewedip devient les serveurs qui ont fait redirigé vers https plutôt que les utilisateurs IP.

 @RequestMapping(value = "/payment/", method = RequestMethod.GET)
  public String newBracqet(Model model, HttpServletRequest request) {
    String currentViewedIP = request.getRemoteAddr();
 }

Était-ce utile?

La solution

Si l'utilisateur est derrière un serveur proxy ou accédez à votre serveur Web via une balanceur de charge (par exemple, dans l'hébergement en nuage), le code ci-dessus obtiendra l'adresse IP du serveur de serveur proxy ou de la charge de chargement, pas l'adresse IP d'origine.d'un client.

Pour résoudre le problème, vous devez obtenir l'adresse IP de l'en-tête HTTP de la demande "X-Forwarded-for (XFF)".

  //is client behind something?
  String ipAddress = request.getHeader("X-FORWARDED-FOR");  
  if (ipAddress == null) {  
     ipAddress = request.getRemoteAddr();  
  }

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top