背景

在许多场景需要对接的情况下,就需要提供给联调侧白名单,也就是服务的出口IP,如果是IDC的话可以直接从运营商手中购买,如果是使用阿里云的话,往往需要用到弹性公网,也就是你可能不知道,现在列举出来2种方式获得IP

方式一:直接查询

第一步进入EDAS的微服务空间

在这里插入图片描述

第二步:点击弹性公网

选择公网访问服务,然后点击进去
在这里插入图片描述

第三步:得到想要的出口IP

在这里插入图片描述

在这里插入图片描述

至此就得到了想要的IP地址,赶紧发送对方吧。

当然也有人可能怀疑这个IP是否争取,想验证一下,如果是这样的话,我们可以从任意一个POD中去操作一下试试看,这里可以使用方法二;

方法二:编程方式验证

首选写一段代码,很简单就是一个简单的访问服务

@Slf4j
@RestController
public class IpController {



    @RequestMapping("/helloIp")
    public String helloworld(HttpServletRequest request){

        String ipAddr = getIpAddr(request);

        log.info("ipAddr:{}",ipAddr);

        return "helloIp";
    }


    public static String getIpAddr(HttpServletRequest request) {
        String ip = request.getHeader("x-forwarded-for");
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if(ip == null || ip.length() == 0 || "X-Real-IP".equalsIgnoreCase(ip)) {
            ip = request.getHeader("X-Real-IP");
        }
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        return ip;
    }

}

在这里插入图片描述
得到的是相同的结果

注意:这里需要访问我本地,需要使用内网穿透工具,我用的是NATAPP,有不懂的话,可以留言!!!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐