通过Python标头获取主机公共IP

时间:2019-05-20 07:42:16

标签: python amazon-web-services ip amazon-cloudfront amazon-ecs

我在Amazon ECS上有一个服务主机。 它还在我的ECS前面有负载均衡器和CloudFront,下图是它们的体系结构:

enter image description here

当我的服务运行时,它将需要它自己的公共IP地址来进行记录。 我想在没有第三方库或网站的情况下获得此信息。我深入研究HTTP标头中的字段,在chrome中找到了此字段(请参见下图),但是无法通过标头中的字段访问此信息。

enter image description here

我的问题是:

  1. 我可以获取没有第三方库的服务器的公共IP吗?

(由于以下问题,如果没有第三方库,这似乎是不可能的)

Get public/external IP address?

Discovering public IP programmatically

How can I get the public IP using python2.7?

  1. 我能否获得像在chrome中的python中看到的字段?

1 个答案:

答案 0 :(得分:0)

您几乎可以使用任何语言的任何HTTP客户端或使用诸如cURL之类的命令行工具来读取AWS Cloud Front主机的远程IP地址。

但是请记住,您在HTTP客户端中看到的Cloud Front远程IP地址(例如您的示例中的Chrome)不是“您的”地址。它是离您的客户端最近的Cloud Front端点的IP地址。不要将Cloud Front端点IP(不是“您的”,并且可能会更改)与您的Elastic Load Balancer IP(可以是“您的”,即为您保留)混淆。