背景
在许多场景需要对接的情况下,就需要提供给联调侧白名单,也就是服务的出口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,有不懂的话,可以留言!!!