【发布时间】:2021-02-11 00:52:57
【问题描述】:
我在 AWS Elastic Beanstalk 中部署了一个 Spring Boot 应用程序。
对于我的一个 API,我需要检查客户端主机名地址。
我正在使用
String ipAddress = request.getRemoteAddr();
String hostname = request.getRemoteHost();
(其中request 是HttpServletRequest)。
我知道 HTTP 规范和 Java servlet 规范都说这两个值都可能不存在。但是,我看到每次 both 的值都是“127.0.0.1”。
我假设 Elastic Beanstalk 的设置方式,对 VM 的所有请求都来自内部。 有没有办法从内部检索客户端地址标头?
如果我使用 CloudFront 进行 HTTPS 终止,有没有办法让它通过客户端地址?
【问题讨论】:
标签: java servlets amazon-elastic-beanstalk