1.配置zuul
注意zuul要允許與進(jìn)行跨域相關(guān)的頭信息
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的珠暉網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
zuul: #需要忽略的頭部信息,不在傳播到其他服務(wù) ??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("*");//?#允許向該服務(wù)器提交請求的URI,*表示全部允許,在SpringMVC中,如果設(shè)成*,會自動轉(zhuǎn)成當(dāng)前請求頭中的Origin ????????config.addAllowedHeader("*");//?#允許訪問的頭信息,*表示全部 ????????config.setMaxAge(18000L);//?預(yù)檢請求的緩存時(shí)間(秒),即在這個(gè)時(shí)間段里,對于相同的跨域請求不會再預(yù)檢了 ????????config.addAllowedMethod("*");//?允許提交請求的方法,*表示全部允許 ????????source.registerCorsConfiguration("/**",?config);????????return?new?CorsFilter(source); ????} }
這樣我們就完成了跨域,但需要注意如果在最外層的服務(wù)網(wǎng)關(guān)配置了跨域,那服務(wù)自身就不能再進(jìn)行跨域處理否則會引發(fā)沖突