一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - 基于java配置nginx獲取真實IP代碼實例

基于java配置nginx獲取真實IP代碼實例

2020-09-18 14:01小豬夫 JAVA教程

這篇文章主要介紹了基于java配置nginx獲取真實IP代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、java代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/** 獲取客戶端IP */
  public static final String getClientIp(HttpServletRequest request) {
    String ip = request.getHeader("X-Forwarded-For");
    if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)|| "127.0.0.1".equalsIgnoreCase(ip)) {
      ip = request.getHeader("Proxy-Client-IP");
    }
    if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)|| "127.0.0.1".equalsIgnoreCase(ip)) {
      ip = request.getHeader("WL-Proxy-Client-IP");
    }
    if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)|| "127.0.0.1".equalsIgnoreCase(ip)) {
      ip = request.getHeader("X-Real-IP");
    }
    if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)|| "127.0.0.1".equalsIgnoreCase(ip)) {
      ip = request.getRemoteAddr();
    }
    if (StringUtils.isBlank(ip) ||"127.0.0.1".equals(ip)|| ip.indexOf(":") > -1) {
      try {
        ip = InetAddress.getLocalHost().getHostAddress();
      } catch (UnknownHostException e) {
        ip = null;
      }
    }
    // 對于通過多個代理的情況,第一個IP為客戶端真實IP,多個IP按照','分割
    if (ip != null && ip.length() > 15) {
      if (ip.indexOf(",") > 0) {
        ip = ip.substring(0, ip.indexOf(","));
      }
    }
    return ip;
  }

2、nginx需要進行相應修改,重點 proxy_set_header

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
server {
    listen  xxxx;
    server_name 127.0.0.1;
    # 靜態頁面目錄
    root   xxxxxxxxxx;
    # 默認首頁
    index   login.html;
    proxy_set_header Host $http_host;      
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET,POST';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    #proxy_cookie_path /* /*;
    client_max_body_size  100m;
 
    location / {
      proxy_set_header Host $http_host;      
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      add_header Access-Control-Allow-Origin *;
      add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
      add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
      ......
    }
  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/xiufengd/p/13625361.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人无精品久久久 | 91久久偷偷做嫩草影院免费 | 欧美怡红院视频一区二区三区 | 美女草b| 青青在线视频免费 | 苍井空av | 亚洲无线一二三四区 | 国产亚洲欧美在线中文bt天堂网 | 精品久久久久久久久免费影院 | 亚洲国产精品嫩草影院久久 | 久久久影院亚洲精品 | 日韩成人精品在线 | 久久精品久久久 | 好湿好滑好硬好爽好深视频 | 性做久久久久久久久老女人 | 国产偷啪视频一区 | 麻豆视频入口 | 精品久久久久免费极品大片 | 免费理伦片在线观看全网站 | wankz视频| 国产精品污双胞胎在线观看 | 加勒比一本大道香蕉在线视频 | 无人区乱码1区2区3区网站 | 国产91在线精品 | 性关系视频免费网站在线观看 | 国产精品高清一区二区三区 | 热99精品在线 | 日韩国产欧美成人一区二区影院 | 女人把扒开给男人爽的 | 肉车各种play文r | 免费人成在线观看 | 日韩一区二区三区精品 | 国产成人h视频在线播放网站 | 数学老师扒开腿让我爽快 | 欧美最新在线 | 免费一级日本c片完整版 | 单亲乱l仑在线观看免费观看 | 羞羞答答免费人成黄页在线观看国产 | 波多野结衣教师未删减版 | 亚洲欧美久久婷婷爱综合一区天堂 | 精品国产免费第一区二区 |