如何解决从 Quarkus 内部获取请求者 IP 地址
所以让我首先尝试解释我需要什么和用例,这样就可以很容易地围绕我的请求:
我们正在构建一个基于 Quarkus 的投票系统,并且必须在某些条件下限制选民才能投票,例如他登记说他住在法国,但请求来自赞比亚。
为此,我们正在考虑获取请求的 IP 地址,并在 ip2location.com 的帮助下,我们计划确定选民的位置。 我看到的唯一一个关于获取 IP 地址的提及是在一个关于日志记录的示例代码中,我发现没有人能够从我要处理的代码中获取它(在我们的例子中,获取 IP,调用 ip2location 服务,与数据库匹配,拒绝或验证投票)。
那么如何从使用 Quarkus 构建的应用程序内部获取该 IP 地址?
@Inject HttpServletRequest 或 @Inject HttpRequest 肯定不行。
问候, D.
解决方法
您可以使用:
@Context
HttpServerRequest request;
...
request.remoteAddress();
在 JAX-RS 资源类中。
但如果您在代理后面,即使这样也不够。在这种情况下,您可能需要读取 X-Forwarded-For
HTTP 标头。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。