登录
首页 >  Golang >  Go问答

X-Forwarded-For IP 中应该包含区域标识符吗?

来源:stackoverflow

时间:2024-03-17 21:09:30 498浏览 收藏

当使用 Go 的 http/httputil.ReverseProxy 时,侦听带有区域的本地地址,通过本地地址(包括区域)发出请求,你会发现区域标识符最终出现在 X-Forwarded-For 标头中。这引发了一个问题:区域标识符是否应该包含在 XFF IP 中?经过一番思考,得出的结论是,区域标识符应保留到使用为止,然后应根据 IP 的具体用途以及区域对该用途的影响来决定保留或剥离它们。

问题内容

当使用 Go 的 http/httputil.ReverseProxy 时,侦听带有区域的本地地址,通过本地地址(包括区域)发出请求,我发现区域标识符最终出现在 X-Forwarded- 中For 标头由反向代理添加。 (您可以看到它发生在此处。SplitHostPort 保持区域完好无损。)

该区域应该位于 XFF IP 中吗?是否有意义?这是一个错误吗?

我对区域标识符的理解不是很清楚,它在使用它的特定机器之外没有意义。另一方面,也许如果您试图跟踪请求所采取的路径,则需要使用区域来消除歧义?


正确答案


思考了一段时间后,我得出了 writing a blog post about it。以下是该帖子的结论部分:

区域应保留到使用为止,然后应根据 IP 的具体用途以及区域对该用途的影响来决定保留或剥离它们。

这意味着反向代理应该将区域包含在 X-Forwarded-For 标头中,速率限制器可能应该丢弃它们,并且 prefix-contains-IP 检查应该基于前缀中是否存在区域。但这些只是示例 - IP 地址有多种用途,特定用途将决定(或至少决定)该区域的命运。

当然,这都是有争议的。要查看其他一些意见,请查看我在 r/ipv6 subreddit 中询问此问题时收到的一些评论。如果您有不同意见或知道其他人写过有关此问题的文章,请告诉我。

理论要掌握,实操不能落!以上关于《X-Forwarded-For IP 中应该包含区域标识符吗?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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