Google Cloud Run java程序获取客户端真实ip地址工具类

package com.example.helloworld.utils;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by yeqiang on 8/2/19.
 */
public class HttpUtils {
    private static final String[] HEADERS_TO_TRY = {
            "X-Forwarded-For",
            "Proxy-Client-IP",
            "WL-Proxy-Client-IP",
            "HTTP_X_FORWARDED_FOR",
            "HTTP_X_FORWARDED",
            "HTTP_X_CLUSTER_CLIENT_IP",
            "HTTP_CLIENT_IP",
            "HTTP_FORWARDED_FOR",
            "HTTP_FORWARDED",
            "HTTP_VIA",
            "REMOTE_ADDR"};

    /**
     * 从请求头中读取真实代理服务器前客户端ip地址
     *
     * @param request
     * @return
     */
    public static String getProxyRealIp(HttpServletRequest request) {
        String ip = null;
        for (String key : HEADERS_TO_TRY) {
            ip = request.getHeader(key);
            if (ip != null) {
                return ip;
            }
        }
        return ip;
    }
}
发布了161 篇原创文章 · 获赞 39 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/hknaruto/article/details/98209581