如何获取服务器上的外网IP

如题,我将一个java项目部署在云服务器上,该项目有一个接口会向外暴露其所在的服务器的IP。我想通过代码或者掉起Linux指令获取服务器所在的外网IP,但总是获取的是内网IP,网上找了很多工具类也是只能获取到内网IP。问一下有什么办法可以获取外网IP吗?

外网IP是路由器提供的,本机上哪获取去
网络结构:
服务器<--->路由器内网端口---路由器外网端口<--->互联网
别说你在服务器上调用任何API都只能获取本机IP,你就算使用网络指令,最多能知道路由器内网IP,除非你登录到路由器上看配置才能知道外网IP
=-=-=-=-=-=
除非你在另一个网络上还有另一个应用,然后让这个服务器去对另一个应用发起请求,这样对方就能知道它的外网IP是什么,然后再发包把它告诉回你。
-=-=-=-=-=
这有点像公司电话分总机和分机,你在分机上永远只能查到分机号,查不到总机号,而且总机往外打有好几个号码,随机分配,你只能给你手机拨一个看来电显示才知道号码到底是什么。

外网IP是映射出去的,本机获取不到外网IP。

阿里云可以用curl ident.me获取;
腾讯云有时候用上面的获取不到,可以换curl http://metadata.tencentyun.com/meta-data/public-ipv4试试

腾讯云不是在服务器那个界面就可以看到公网ip嘛