登录
首页 >  Golang >  Go问答

通过 AWS 将客户端 IP 地址传递到后端服务器

来源:stackoverflow

时间:2024-02-29 12:18:24 184浏览 收藏

你在学习Golang相关的知识吗?本文《通过 AWS 将客户端 IP 地址传递到后端服务器》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我们的基础设施位于 AWS 中。所有客户端调用都会通过 API 网关,然后将请求转发到连接到 ECS 集群的负载均衡器。我们在该集群上运行 API,其工作是聚合来自多个第三方的数据。

问题是每个第三方根据位置返回不同的数据。

例如,我们托管在北弗吉尼亚州,数据是根据美国的请求返回的。但是,一些呼叫来自加拿大,它应该返回不同的数据集。

我们如何将原始客户端请求的位置发送到第三方服务器,以便用户获得正确的数据?


解决方案


如果您使用负载均衡器,您的后端服务器可以从负载均衡器应用的自定义标头获取真实的客户端 IP。详情请参阅 https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html

因此,假设您可以在后端服务器上获取客户端 IP,您需要能够将客户端 IP 传递给您正在调用的服务,因此这取决于服务支持的内容。如果您调用的服务没有采用显式的 IP 输入参数,那么它将要求您欺骗调用者的位置,这对于 AWS 后端服务器来说会很麻烦,除非您使用一些自定义代码来生成请求到第 3 方服务。

今天关于《通过 AWS 将客户端 IP 地址传递到后端服务器》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>