Hari ini, projek baharu telah dilancarkan dan saya menghadapi masalah Syarikat menggunakan f5 untuk pemajuan dan menggunakan protokol https Walau bagaimanapun, dalam projek kami, request.getScheme() mendapat http sebaliknya dengan kod kami.... , saya menyemak sajian tomcat. Adakah sesiapa yang mengalami masalah ini? Bagaimana untuk menyelesaikannya?
https biasanya dilaksanakan oleh proksi terbalik (seperti F5) (iaitu, sijil SSL dikonfigurasikan pada proksi terbalik), dan Tomcat sendiri menggunakan protokol http.
Memandangkan proksi terbalik menggunakan pemajuan lapisan 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")
menentukan sama ada pengguna berada dalam status https.Saya tidak faham apa masalah anda. .
.Bagaimana untuk menggunakan https apabila tomcat tidak mempunyai sijil?
Saya tidak pernah menggunakan f5 yang serupa boleh menyahpasang SSL, iaitu, aplikasi anda tidak perlu mengetahui https