【发布时间】:2019-10-06 13:15:57
【问题描述】:
我在 Amazon ECS 上有一个服务主机。 我的 ECS 前面还有负载均衡器和 CloudFront,下图是它们的架构:
当我的服务运行时,它需要自己的公共 IP 地址来记录。 我想在没有第三方图书馆或网站的情况下获得这些信息。我深入研究了 HTTP 标头中的字段,我在我的 chrome 中找到了这个(见下图),但我无法通过标头中的字段访问这些信息。
我的问题是:
- 我可以在没有第三方库的情况下获取服务器的公共 IP 吗?
(由于以下问题,如果没有第三方库,这似乎是不可能的)
Get public/external IP address?
Discovering public IP programmatically
How can I get the public IP using python2.7?
- 我可以像我在 python 中的 chrome 中看到的那样获得该字段吗?
【问题讨论】:
-
您想获取您的客户端 IP 吗?让我们更多地了解您的服务生态系统。你在用什么?
-
@gd8 不,我想获取我的服务器的公共 IP。我不太确定我应该提供什么样的生态系统。但我使用 Python 和 Flask 框架编写了一个 RESTful Web 应用程序。将其 Docker 化并推送到 Amazon ECR。感谢您的提问。
-
“需要自己的公共 IP 地址来记录”是什么意思?您所说的“获取服务器的公共 IP”是什么意思——您指的是 ECS 实例吗?如果您的用户通过 CloudFront 访问您的服务,他们为什么需要公共 IP?
-
@JohnRotenstein 实际上,我正在编写一个小测试应用程序。我想知道用户在发送请求时访问了哪个 IP(出于实验目的)。由于负载均衡器,他们在发送请求时会访问不同的 ECS。我只是想根据公共 IP 记录这种行为。感谢您的提问。
-
奇怪的要求,只是好奇你会用 CloudFront IP 地址做什么,Lambda@edge 事件结构不会记录远程/它自己的 IP 地址和
标签: python amazon-web-services ip amazon-cloudfront amazon-ecs