【问题标题】:How to get thei requester IP on a Spring webapp running on AWS ElasticBeastalk Application Load Balancer如何在 AWS Elastic Beanstalk 应用程序负载均衡器上运行的 Spring webapp 上获取请求者 IP
【发布时间】:2020-03-28 05:47:21
【问题描述】:

我有一个使用 Spring 作为后端框架用 Java 编写的 Web 应用程序。 此应用程序在带有应用程序负载均衡器的 AWS ElasticBeanstalk 上运行。我想知道如何获取所有向我的网络应用发送请求的用户的 IP。

[编辑 1] 我注意到,只要这样做,我就可以正确获取我的 IP 地址。

@GetMapping
public String processData(HttpServletRequest request) {

    String ipAddress = request.getRemoteAddr());

}

我不知道是否有特殊情况下这不起作用。

【问题讨论】:

    标签: java spring amazon-elastic-beanstalk aws-application-load-balancer


    【解决方案1】:

    您可以在 ALB 上启用访问日志,这将记录对 ALB 的所有请求。记录信息:(https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html) 如果您有一些合规性要求,请不要忘记相应地轮换日志(s3 生命周期)。

    【讨论】:

    • 非常感谢您的帮助。但是我怎么能使用这个日志呢?我想存储页面访问并使用它们...如何使用您给我的解决方案来做到这一点?
    【解决方案2】:

    request.getRemoteAddr(); 总结得差不多了。您也可以对端口和其他属性执行相同操作。

    【讨论】:

      猜你喜欢
      • 2018-01-30
      • 2020-11-18
      • 2017-04-19
      • 2017-01-15
      • 2017-09-28
      • 2019-04-21
      • 2021-01-01
      • 1970-01-01
      • 2017-01-07
      相关资源
      最近更新 更多