溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

springcloud使用zuul解決微服務(wù)的跨域問題

發(fā)布時(shí)間:2020-07-17 21:34:13 來源:網(wǎng)絡(luò) 閱讀:372 作者:springcloudboot 欄目:編程語言

1.配置zuul
注意zuul要允許與進(jìn)行跨域相關(guān)的頭信息

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:?www.fhadmin.org
?*?@Date:?2019/9/16
?*?@Description:?使用zuul解決請(qǐng)求跨域問題
?*/
@Configuration
public?class?CorsConfig?{

????@Bean
????public?CorsFilter?corsFilter()?{
????????final?UrlBasedCorsConfigurationSource?source?=?new?UrlBasedCorsConfigurationSource();
????????final?CorsConfiguration?config?=?new?CorsConfiguration();
????????config.setAllowCredentials(true);?//?允許cookies跨域
????????config.addAllowedOrigin("*");//?#允許向該服務(wù)器提交請(qǐng)求的URI,*表示全部允許,在SpringMVC中,如果設(shè)成*,會(huì)自動(dòng)轉(zhuǎn)成當(dāng)前請(qǐng)求頭中的Origin
????????config.addAllowedHeader("*");//?#允許訪問的頭信息,*表示全部
????????config.setMaxAge(18000L);//?預(yù)檢請(qǐng)求的緩存時(shí)間(秒),即在這個(gè)時(shí)間段里,對(duì)于相同的跨域請(qǐng)求不會(huì)再預(yù)檢了
????????config.addAllowedMethod("*");//?允許提交請(qǐng)求的方法,*表示全部允許
????????source.registerCorsConfiguration("/**",?config);

????????return?new?CorsFilter(source);
????}

}

這樣我們就完成了跨域,但需要注意如果在最外層的服務(wù)網(wǎng)關(guān)配置了跨域,那服務(wù)自身就不能再進(jìn)行跨域處理否則會(huì)引發(fā)沖突

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI