java - 如何通过 Amazon API Gateway (JAVA) 检索用户的公共 IP 地址
问题描述
在 Cloudfront 的帮助下使用自定义策略创建签名 URL,并在策略中添加客户端 IP 和到期日期限制。为了测试我的代码,我在 java 代码中硬编码了我的公共 ipv4。我如何动态地做到这一点。我创建了一个程序
URL whatismyip = new URL("http://checkip.amazonaws.com"); BufferedReader in = new BufferedReader(new InputStreamReader(whatismyip.openStream()));
String ip = in.readLine(); //you get the IP as a String return ip+"/32";
在本地,它返回准确的输出,但是当我在我的开发层上运行它时,它返回的是集群的 IP,而不是用户的 IP。如何在我的集群上获取用户 IP。
解决方案
X-Forwarded-For
如Cloudfront 文档中所述,您可以在标头中找到客户端的 IP 地址。
推荐阅读
- spring - Springboot 2.3.x 应用程序在启动时卡住
- python - 使用 Beautiful Soup 从 HTML 标签中提取数据
- python - 未找到 MySQL.connector 模块
- postgresql - Postgres:附加到大型 jsonb 数组是否昂贵?
- sql - 如何编写一个 sql where 过滤器,它将返回时间戳大于给定日期和时间的行?
- batch-file - 如何编写一个 Windows 批处理文件,通过数值更新文件夹中的所有文件名?
- python - 数据框自连接条件检查
- c# - 谷歌自定义搜索为同一查询提供不同的结果编号
- mqtt - 在 ActiveMQ Artemis 中限制消息的大小
- c# - 使用 OpenXML C# 从流中更改 word 文档页面方向