헤더 가 너무 커서 크로스 오 버 에 실 패 했 습 니 다.

1825 단어
배경
전단 Vue, 백 엔 드 Springboot, 부하 균형 Nginx, Springboot 에서 크로스 도 메 인 을 설정 한 후에 도 크로스 도 메 인 문제 가 발생 합 니 다. Springboot 크로스 도 메 인 코드 는 다음 과 같 습 니 다.
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CorsConfig implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*")
                    .allowCredentials(true)
                    .allowedMethods("GET", "POST", "DELETE", "PUT")
                    .maxAge(3600);
        }
}

그러나 가끔 크로스 필드 문제 가 발생 할 수 있 습 니 다. 다음 과 같 습 니 다.
Access to XMLHttpRequest at 'http://xxx?pageIndex=1&pageSize=10' from origin 'http://xxx.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values 'http://xxx.com, *', but only one is allowed.

Access to XMLHttpRequest at 'http://xxx' from origin 'http://xxx.com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values 'http://xxx.com, *', but only one is allowed.

조사 과정
Nginx 헤더 가 너무 작 게 설정 되 어 있 습 니 다.
     ,/etc/nginx/nginx.conf    header     8K,       8K   ,     ;
       8K,     400    

client_header_buffer_size 32k;
large_client_header_buffers 4 32k;

  :https://www.jianshu.com/p/20a687873bf0

좋은 웹페이지 즐겨찾기