1. 程式人生 > >服務器使用nginx做代理,通過HttpServletRequest獲取請求用戶真實IP地址

服務器使用nginx做代理,通過HttpServletRequest獲取請求用戶真實IP地址

-1 servle int _for nbsp real ati servlet ddr

首先,在nginx配置中添加如下配置

server {
    listen       80;
    server_name  www.wenki.info;    #要訪問的域名

    charset utf8;

    location / {
        proxy_pass       http://wenki_info;
        proxy_set_header Host      $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

使用如下命令重新加載配置

nginx -s reload

服務端獲取ip地址代碼

public static String realIP(HttpServletRequest request) {
    String xff = request.getHeader("x-forwarded-for");
    if (xff != null) {
        int index = xff.indexOf(‘,‘);
        if (index != -1) {
            xff = xff.substring(0, index);
        }
        
return xff.trim(); } return request.getRemoteAddr(); }

服務器使用nginx做代理,通過HttpServletRequest獲取請求用戶真實IP地址