跨域问题
-
跨域概念:
指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
-
同源策略:
是指协议,域名,端口都要相同,其中有一个不同都会产生跨域;
-
官方文档
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS

-
解决跨域方法一:使用nginx部署为同一域

-
解决跨域方法二:配置当次请求允许跨域
①当服务有网关时,在网关配置config即可
package com.he.gulimall.gateway.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; @Configuration public class GulimallCorsConfiguration { @Bean public CorsWebFilter corsWebFilter(){ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); //1、配置跨域 //跨域请求暴露的字段 corsConfiguration.addAllowedHeader("*"); //支持哪些方法跨域 corsConfiguration.addAllowedMethod("*"); //支持哪些来源的请求跨域 corsConfiguration.addAllowedOrigin("*"); //跨域请求默认不包含cookie,设置为true可以包含 cookie corsConfiguration.setAllowCredentials(true); source.registerCorsConfiguration("/**",corsConfiguration); return new CorsWebFilter(source); } }

浙公网安备 33010602011771号