【发布时间】:2019-10-22 19:22:50
【问题描述】:
我有两台不同域的服务器。
服务器 2:IP 地址为200.200.200.200 (twohundred.com)
服务器 1:IP 地址为100.100.100.100 (onehundred.com)
我正在从 server2 向 server1 发出一个休息 API 请求。在 server1 中,我有一个名为 /validate 的 java 端点。从这个端点,我向同一服务器中托管的 /verify 端点发出请求。
@RequestMapping(value = "/validate", method = { RequestMethod.POST })
public String validateAndRedirect(HttpServletRequest request,
HttpServletResponse response) throws JSONException, IOException {
Url url = "https://onehundred.com/verify?queryParam=123";
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
response.sendRedirect("https://onehundred.com/successful/message");
}
如果请求从浏览器发送到 /verify 端点,如果我重定向到 /validate,是否可以从服务器地址重定向。
【问题讨论】:
-
您是否尝试在处理请求时询问您是否想知道请求者的 IP 地址?
-
@Sunil Kanzar,我在问,当我执行 sendRedirect 时,请求会转到 /successful 端点。在成功的端点中,请求来自服务器 2 的 IP 地址 (200.200..*),即使 response.sendRedirect 所在的代码托管在服务器 1(100.100.100.100) 中。因此,/successful 端点应该接收来自 server1 而不是来自 server2 的请求。
-
如果在
server 1托管的https://onehundred.com/successful/message上请求并期望它通过server 1它自己调用,我不会问你问题。 -
我的意思是说,如果您是从
server 1拨打电话到server 1它自己,那么您怎么能指望它来自server 2? -
这就是我的意思,在成功的端点中,请求来自服务器 2,即使 sendredirect 代码物理存储在 server1 中并在 server1 中运行。因此,/successful 端点应该接收来自 server1 的请求,但查看日志,请求实际上来自 /server2 (200.200.200.200)
标签: java spring-boot redirect networking server