频道
bg

反向代理后的客户端IP

coding十一月 18, 20211mins

如果服务器被反向代理,获取客户端的IP会获取到最后的一个代理服务器的地址;反过来重定向应该是反向代理服务器的IP而不是服务器自己的IP。

代理服务器一般会在代理过后,将原始的客户端IP添加到X-Forwarded-* 相关的头中,例如

X-Forwarded-For: IP0, IP1, IP2 。为了获取的正确的IP地址,需要把X-Forwarded-* 相关的头考虑进去。

解决H2

server.use-forward-headers 替换为server.forward-headers-strategy

With Spring Boot <= 2.1.x you had to provide a ForwardedHeaderFilter-Bean.(RemoteIpFilter)

更新

Spring Boot中可以的server.forward-headers-strategy 参数

  • NATIVE 让服务器来处理
  • FRAMEWORK 让Sprin框架来处理

评论


新的评论

匹配您的Gravatar头像

Joen Yu

@2022 JoenYu, all rights reserved. Made with love.