当前,我正在将一些Spring MVC组件从Spring 5.1.12升级到Spring 5.2.2。在Spring 5.2中发生的更改是Cors Handling。这会影响IE9中字体的加载。与IE9结合使用的缓存字体为kind of unstable。
实际发生的是在te升级后添加了3个响应标头
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
我尝试通过以下方式更改CORS政策
现有代码:
@EnableWebMvc
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
..
registry.addResourceHandler("/fonts/**").addResourceLocations("/fonts/");
..
}
已添加
@Override
public void addCorsMappings(final CorsRegistry registry) {
registry.addMapping("/fonts/**").
allowedOrigins("http://domain2.com").allowedMethods("PUT", "DELETE").allowedHeaders("header1", "header2", "header3").exposedHeaders("header1", "header2")
.allowCredentials(false).maxAge(3600);
}
但这不会影响标题。如何删除这些eot文件头,以便IE9始终正确显示它们?