Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring中转发头和多个值的问题_Java_Spring_Spring Mvc - Fatal编程技术网

Java Spring中转发头和多个值的问题

Java Spring中转发头和多个值的问题,java,spring,spring-mvc,Java,Spring,Spring Mvc,根据,转发头的语法如下所示: Forwarded: by=<identifier>;for=<identifier>;host=<host>;proto=<http|https> 中的代码获取第一个转发头,如果找到多个转发头,则用逗号将其拆分,并仅使用第一部分: UriComponentsBuilder adaptFromForwardedHeaders(HttpHeaders headers) { try {

根据,转发头的语法如下所示:

Forwarded: by=<identifier>;for=<identifier>;host=<host>;proto=<http|https>
中的代码获取第一个转发头,如果找到多个转发头,则用逗号将其拆分,并仅使用第一部分:

    UriComponentsBuilder adaptFromForwardedHeaders(HttpHeaders headers) {
        try {
            String forwardedHeader = headers.getFirst("Forwarded");
            if (StringUtils.hasText(forwardedHeader)) {
                String forwardedToUse = StringUtils.tokenizeToStringArray(forwardedHeader, ",")[0];
                ....
    }
使用上面的示例,
forwardedToUse
变量变为
Forwarded:for=192.0.2.43
,其中所有有用的信息都被修剪

这真的是一个问题还是我遗漏了什么?如果这真的是个问题,我该怎么处理呢。
提前多谢

在Spring中,在多个值的情况下,似乎存在转发头的问题。它已通过下面的提交得到修复,并将在下一版本中提供:

  • GitHub问题
  • Spring框架提交
  • 发布
    UriComponentsBuilder adaptFromForwardedHeaders(HttpHeaders headers) {
        try {
            String forwardedHeader = headers.getFirst("Forwarded");
            if (StringUtils.hasText(forwardedHeader)) {
                String forwardedToUse = StringUtils.tokenizeToStringArray(forwardedHeader, ",")[0];
                ....
    }