django-返回客户端外网ip服务

在服务器应用初始化的时候,比如salt-minion,需要在配置文件里说明自己的id,一般用ip。

如果都在一个内网里,从ip命令里获取就行了。

但现在的企业后台环境更加复杂,很多都是跨机房、有物理机,也有云主机。像salt,minion和master不一定在同一个内网。所以都需要自身公网ip

云主机的外网ip都是mapping的,从ip命令无法得知。

可以这样:

用curl ipconfg.me这些服务,返回自己的公网ip。

但是太慢了,10s有的。

所以还是自己写一个

使用django

request.META里包含了客户端的很多信息,REMOTE_ADDR就是对方的外网IP。

把这个消息返回回去就行了

def return_wip(request):

    ip = request.META['REMOTE_ADDR']
    return HttpResponse(ip)

  

使用curl请求地址,就能获取

curl http://192.168.144.76:8000/deploy/return_wip/
192.168.144.86

  

猜你喜欢

转载自www.cnblogs.com/jabbok/p/10118720.html