- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
nginx.conf配置:
/ r0 R) D+ `' \5 f5 m: f; j- {6 i8 k$ ?% g9 ~
location / { 0 f8 s# a9 x k0 G$ [! s
proxy_pass http://127.0.0.1:8081/myweb/; % n" u( T/ b) ?5 q+ {% D
proxy_redirect off; . {! {# x5 N) {$ u. w6 u/ S F
proxy_set_header Host $host;
+ C$ r4 I A W* e$ t proxy_set_header X-Real-IP $remote_addr;
$ z9 R3 L+ }& N0 M5 \ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
7 ^; D( H9 _# t( s}
, H" z I1 n- S! o) x' k; U7 O& U7 {
% l& z5 K! ?, N后端获取方式:
: g: U5 O* v7 p( V6 L8 ?, k# v* m. D, U5 f: W
/*** 8 r' t1 a0 B; v7 Y6 E$ v( v" \
* 获取客户端IP地址;这里通过了Nginx获取;X-Real-IP, # x. w- X# u& r0 O, L$ k% E+ r
* @param request
! d8 j( w/ i1 B, h* K * @return
( {/ }3 U) `- c1 ?' T; x */
1 o3 |% x; K* P/ x6 [public static String getClientIP(HttpServletRequest request) {
% ]7 W6 l$ ~5 R' I2 t String fromSource = "X-Real-IP";
+ O9 P% ]6 r: Z( _+ L String ip = request.getHeader("X-Real-IP"); 3 \: G; d/ F+ `" g- p
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
5 f/ t; |) z% h9 W4 ?' ] ip = request.getHeader("X-Forwarded-For");
- Z, I k( q/ a9 U1 ]4 D fromSource = "X-Forwarded-For"; ! Y/ X0 X4 E8 L5 q$ \
}
- v! j# }$ E8 @- O! ? if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
. e: i2 p! Q+ R+ |5 m: K) @ ip = request.getHeader("Proxy-Client-IP");
8 P! _' J) g* D' o. I: S/ D fromSource = "Proxy-Client-IP"; % a! a; I; V: u* k* V' a# p9 S/ }( @
} 6 l/ D9 L, p& a7 Z+ T2 T! L: [
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
* x* Y1 I5 v$ x3 d9 ~ ip = request.getHeader("WL-Proxy-Client-IP"); & M+ Y; Z5 K0 } G0 g
fromSource = "WL-Proxy-Client-IP";
+ N" t6 e- O9 f- W }
; d* `" n7 {: k7 x: j2 _1 H, G+ \, I/ Q if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
" q( ]$ K" @6 l' u6 w$ A ip = request.getRemoteAddr(); 3 \ j) o8 d. U) d, k& K
fromSource = "request.getRemoteAddr";
$ E5 X! A4 @( A( E }
; `8 s' R7 p5 t appLog.info("App Client IP: "+ip+", fromSource: "+fromSource); ; h8 M9 M0 v$ L# t% W
return ip; 9 \9 _9 u3 n5 c
} 0 O) [, l" p3 a5 Q
$ L. w2 t2 w( ~这样就不会一直获取的是服务器的Ip了。$ }8 _- r5 _0 a
- s+ ~: w& d! H. v9 R0 r
* A: @& F7 [7 J, X: y/ `
|
|