- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图理解一个问题 reported by a user against one of my open source projects .当他们查询 checkip.amazonaws.com
他们有时会返回多个以逗号分隔的 IP 地址。
我找不到有关此的任何信息,所以我很好奇:
checkip.amazonaws.com
在什么情况下返回多个地址? 最佳答案
将最右边的值用作权威值,将任何其他值用作信息但不受信任,因为它们实际上是从传入请求的 header 中复制的。
测试显示此端点使用 HTTP X-Forwarded-For
语义并返回最终结果值...所以如果用户在任何类型的注入(inject) X-Forwarded-For
的代理后面,来自传入请求的值包含在响应中,并且用于联系此服务的实际地址显示在右侧,作为最后一个值。
您可以通过注入(inject)一个或多个 X-Forwarded-For
来证明这一点。 header 到请求中。
左侧的值(如果存在)可能是请求者网络上的私有(private)内部 IP 地址,但 X-Forwarded-For
的设计意味着它们既不能被证明也不能被证明是准确的。最右边的那个永远是正确的。
请注意,如果您使用 https 访问端点,则根本不太可能看到这种行为,因为代理不太可能注入(inject)此类 header 。 (使用 MITM 代理和证书伪造并非不可能,但行为良好的系统永远不会这样做。)
AWS 提供的这项服务是一种故障排除功能,似乎没有正式记录。它使用 X-Forwarded-For
的事实表明这个测试站点 - 毫不奇怪 - 托管在负载均衡器后面,并且响应中出现多个地址可能是一个意外的“功能”,它是由于它最初的实现方式而出现的。
最佳实践可能是创建自己的“我的 IP 是什么”服务以嵌入到您自己的产品中,因为有时公共(public)服务会被恶意软件/僵尸网络作者滥用。发生这种情况时,您的软件可能会被错误地假定为恶意软件,这会让您无法解释可能发生的 panic 。第三方服务,即使是“公共(public)的”,也可能不希望在未经许可的情况下调用他们的服务。
关于amazon-web-services - checkip.amazonaws.com 什么情况下会返回多个地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52618096/
我试图理解一个问题 reported by a user against one of my open source projects .当他们查询 checkip.amazonaws.com他们有时
我是一名优秀的程序员,十分优秀!