1. 程式人生 > 其它 >SpringCloud專案跨域配置

SpringCloud專案跨域配置

在SpringCloud專案中,前後端分離目前很常見,在除錯時會遇到前端頁面通過不同域名或IP訪問微服務的後臺。

例如前端人員會在本地起HttpServer 直連後臺開發本地起的服務,此時,如果不加任何配置,前端頁面的請求會被瀏覽器跨域限制攔截,所以,業務服務常常會新增跨域配置。

一、全域性跨域配置:

springboot專案可在全域性專案配置中新增如下配置:

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; @Configuration @Slf4j public class MyProjectConfig { @Bean public CorsFilter corsFilter() { log.debug("CORS限制開啟"); CorsConfiguration config
= new CorsConfiguration(); //僅在開發環境設定為* config.addAllowedOrigin("*"); config.addAllowedHeader("*"); config.addAllowedMethod("*"); config.setAllowCredentials(true); UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); configSource.registerCorsConfiguration(
"/**", config); return new CorsFilter(configSource); } }

二、區域性跨域配置:

在Controller類或者方法上新增 @CrossOrigin 註解即可。