1.配置zuul
注意zuul要允許與進行跨域相關的頭信息
成都創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:做網站、成都網站建設、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的珠暉網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
zuul: #需要忽略的頭部信息,不在傳播到其他服務 ??sensitive-headers:?Access-Control-Allow-Origin ??ignored-headers:?Access-Control-Allow-Origin,H-APP-Id,Token,APPToken
2.注入CorsFilter
package?com.cfh.practice.zuulserver.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.UrlBasedCorsConfigurationSource;/** ?*?@Author:?fh?www.1b23.com ?*?@Date:?2019/9/24?20:36 ?*?@Description:?使用zuul解決請求跨域問題 ?*/@Configurationpublic?class?CorsConfig?{????@Bean ????public?CorsFilter?corsFilter()?{????????final?UrlBasedCorsConfigurationSource?source?=?new?UrlBasedCorsConfigurationSource();????????final?CorsConfiguration?config?=?new?CorsConfiguration(); ????????config.setAllowCredentials(true);?//?允許cookies跨域 ????????config.addAllowedOrigin("*");//?#允許向該服務器提交請求的URI,*表示全部允許,在SpringMVC中,如果設成*,會自動轉成當前請求頭中的Origin ????????config.addAllowedHeader("*");//?#允許訪問的頭信息,*表示全部 ????????config.setMaxAge(18000L);//?預檢請求的緩存時間(秒),即在這個時間段里,對于相同的跨域請求不會再預檢了 ????????config.addAllowedMethod("*");//?允許提交請求的方法,*表示全部允許 ????????source.registerCorsConfiguration("/**",?config);????????return?new?CorsFilter(source); ????} }
這樣我們就完成了跨域,但需要注意如果在最外層的服務網關配置了跨域,那服務自身就不能再進行跨域處理否則會引發沖突