我正在使用ResponseBuilder类使用发送重定向响应
responseBuilder.header("Location", "/foo");
我的问题是URI解析为绝对URI。根据文档:
如果提供了相对URI,则将通过相对于应用程序的基本URI解析相对URI来将其转换为绝对URI(请参见UriInfo.getBaseUri())。如果为null,则将删除任何现有的位置值。
因为我的服务在反向代理后面运行,所以位置值的主机名错误。返回位置标头时,有什么方法可以强制相对URI?
答案 0 :(得分:1)
您可以使用X-Forwarded-For
和X-Forwarded-Host
在负载均衡器或反向代理后面指定原始客户端或主机。
反向代理的主机名和端口(负载均衡器,CDN)可能与处理请求的原始服务器不同,在这种情况下,X-Forwarded-Host标头可用于确定最初使用的主机。