tomcat 擷取Nginx的真實使用者IP

來源:互聯網
上載者:User
需要:添加 proxy_set_header X-Real-IP $remote_addr;

upstream tomcat_server {             server localhost:8080 weight=1;    }     server {        listen       80;        server_name 192.168.40.116;        #charset koi8-r;        #access_log  logs/host.access.log  main;location ~* "\.(jsp|do)$" { #當請求的是jsp或do檔案時直接到tomcat上去取      #root  html;       #index index.html index.htm;         #proxy_pass http://192.168.18.201/;          proxy_pass http://tomcat_server;client_max_body_size     2048m;       client_body_buffer_size  128k;       proxy_connect_timeout    600;       proxy_read_timeout       600;       proxy_send_timeout       6000;       proxy_buffer_size        16k;       proxy_buffers            64k;       proxy_busy_buffers_size 64k;       proxy_temp_file_write_size 64k;        }        location / {           #發布目錄/data/www         #    root   /home/ding/ITsoftware/tomcat/webapps/100mshCloud;#   fastcgi_pass   192.168.40.116:8080;     proxy_set_header  X-Real-IP  $remote_addr;      proxy_pass http://tomcat_server/; #注釋預設兩行,新增一行。        #    index  index.html index.htm;        }

tomcat 擷取:

public static String getRemoteAddrIp(HttpServletRequest request) {      String ipFromNginx = getHeader(request, "X-Real-IP");      System.out.println("ipFromNginx:" + ipFromNginx);      System.out.println("getRemoteAddr:" + request.getRemoteAddr());      return StringUtil.isEmpty(ipFromNginx) ? request.getRemoteAddr() : ipFromNginx;  }      private static String getHeader(HttpServletRequest request, String headName) {      String value = request.getHeader(headName);      return !StringUtils.isBlank(value) && !"unknown".equalsIgnoreCase(value) ? value : "";  }  

以上就介紹了tomcat 擷取Nginx的真實使用者IP,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.