Jerseyは、IPv4 アドレスを取得したいときにJava プロパティを明示的に に設定した次のコードでも IPv6 アドレスを返しjava.net.preferIPv4Stack
ます。true
@Path("/getip")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN)
public class PublicIp {
@GET
public Response getPublicIp(@Context HttpServletRequest req) {
System.setProperty("java.net.preferIPv4Stack" , "true");
String address = req.getRemoteAddr();
return Response.ok(address).build();
}
}
0:0:0:0:0:0:0:1
ローカルで消費された場合に返されます。Jersey に IPv4 形式を返すように強制するにはどうすればよいですか?