Maison > Questions et réponses > le corps du texte
Aujourd'hui, un nouveau projet a été lancé et j'ai rencontré un problème. L'entreprise utilise f5 pour le transfert et utilise le protocole https. Cependant, dans notre projet, request.getScheme() obtient http à la place. avec notre code.... , j'ai vérifié le service du tomcat. est-ce que quelqu'un à rencontré ce problème? Comment le résoudre?
阿神2017-05-27 17:43:49
https est généralement implémenté par un proxy inverse (tel que F5) (c'est-à-dire que le certificat SSL est configuré sur le proxy inverse), et Tomcat lui-même utilise le protocole http.
Étant donné que le proxy inverse utilise le transfert de couche 7, request.getRemoteAddr()
不可能得到用户真实IP地址,所以通常在反向代理那边配X-Forwarded-For
,Tomcat这边用request.getHeader("X-Forwarded-For")
拿到用户真实IP地址)。同样道理,request.getScheme()
也不可能得到用户真实的协议,通常会在反向代理那边配X-Forwarded-Proto
这种Header,Tomcat这边用request.getHeader("X-Forwarded-Proto")
détermine si l'utilisateur est en statut https.
漂亮男人2017-05-27 17:43:49
Je ne comprends pas quel est ton problème. .
Comment utiliser https quand tomcat n'a pas de certificat ?
Je n'ai jamais utilisé f5. Un nginx similaire peut désinstaller SSL, c'est-à-dire que votre application n'a pas besoin de connaître https