三步了解跨域问题,并解决nginx与Tomcat之间的跨域问题

  • 什么是跨域问题
  • 跨域问题发生的条件
  • 解决跨域问题

第一步我们先了解什么是跨域问题:
跨域问题就是两台服务器之间不能够进行通信

第二步跨域问题发生的条件:
当两台服务器进行通信的时候,一台服务器不信任另外一台服务。

举了栗子:
当我们开始使用 nginx的时候,端口是8800,而nginx监控tomcat的端口是9527的时候(在nginx.conf中配置)
nginx发送信息给tomcat的时候,Tomcat又有个保护机制会拒收nginx发送的信息

第三步:编写一个Config类解决跨域问题

import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
    // 解决跨域问题
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowCredentials(true)
                .allowedHeaders(CorsConfiguration.ALL)
                .allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH")
                .allowedOrigins("*");
    }
}

简单说明代码:
@Configuration:说明这是一个配置类,并且交给spring容器管理
WebMvcConfigurer:必须实现这个WebMvcConfigurer这个接口
addCorsMappings:重写WebMvcConfigurer中的addCorsMappings这个方法

都看到这里啦,点个赞呗,你的赞对我真的很赞

你可能感兴趣的:(nginx,tomcat,java)