springcloud微服務(wù)跨域的配置小結(jié)
注意:關(guān)于跨域,不同的跨域類型需要不同的配置
一、相同的二級域名之間的跨域
最近在處理跨域問題的時(shí)候,發(fā)現(xiàn)在微服務(wù)中配置允許跨域配置,發(fā)現(xiàn)也無濟(jì)于事了。排查發(fā)現(xiàn),之前之所以這樣配置能夠生效,是因?yàn)槎际窍嗤亩売蛎g的跨域,比如:service.csdn.com訪問api.csdn.com,這種相同的二級域名配置跨域,可以直接在我們的微服務(wù)中添加下列配置進(jìn)行解決
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowCredentials(false).maxAge(3600);
}
}二、不同的二級域名之間的跨域
什么是不同的二級域名?比如從service.csdn.com站點(diǎn)訪問 api.abcd.com的時(shí)候,這時(shí)候在我們的為服務(wù)器中配置上面的配置,你就會(huì)發(fā)現(xiàn)無濟(jì)于事,還是會(huì)拋出跨域請求異常,這個(gè)時(shí)候,就需要在我們的springcloud gateway網(wǎng)關(guān)的服務(wù)里去配置跨域了,具體配置如下:
spring:
cloud:
gateway:
#這個(gè)是解決和其他微服務(wù)配置的跨域沖突的
default-filters:
- DedupeResponseHeader=Vary Access-Control-Allow-Credentials Access-Control-Allow-Origin
- DedupeResponseHeader=Access-Control-Allow-Origin
globalcors:
cors-configurations:
'[/**]':
# 允許跨域的源(網(wǎng)站域名/ip),設(shè)置*為全部
# 允許跨域請求里的head字段,設(shè)置*為全部
# 允許跨域的method, 默認(rèn)為GET和OPTIONS,設(shè)置*為全部
allow-credentials: true
# allowedOriginPatterns: "*"
#這里是配置允許跨域過來的網(wǎng)站,建議用這種
allowed-origins:
- "http://service.csdn.com"
allowed-headers: "*"
allowed-methods:
- OPTIONS
- GET
- POST
- DELETE
- PUT
- PATCH
max-age: 3600上述的兩種配置,基本就能夠解決大多數(shù)的跨域問題了。如果在網(wǎng)關(guān)里配置跨域了,其實(shí)微服務(wù)的跨域就可以取消不用了。結(jié)合自己的實(shí)際情況,選擇跨域配置,才是最好的選擇。
到此這篇關(guān)于springcloud微服務(wù)跨域的配置小結(jié)的文章就介紹到這了,更多相關(guān)springcloud 跨域配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java ArrayList的基本概念和作用及動(dòng)態(tài)數(shù)組的機(jī)制與性能
在Java中,ArrayList是一個(gè)實(shí)現(xiàn)了List接口的動(dòng)態(tài)數(shù)組,它可以根據(jù)需要自動(dòng)增加大小,因此可以存儲任意數(shù)量的元素,這篇文章主要介紹了探秘Java ArrayList的基本概念和作用及動(dòng)態(tài)數(shù)組的機(jī)制與性能,需要的朋友可以參考下2023-12-12
SpringBoot Session接口驗(yàn)證實(shí)現(xiàn)流程詳解
這篇文章主要介紹了SpringBoot+Session實(shí)現(xiàn)接口驗(yàn)證(過濾器+攔截器)文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
JAVA系統(tǒng)中Spring?Boot應(yīng)用程序的配置文件application.yml使用詳解
這篇文章主要介紹了JAVA系統(tǒng)中Spring?Boot應(yīng)用程序的配置文件application.yml的相關(guān)資料,application.yml是Spring?Boot應(yīng)用程序的配置文件,定義了服務(wù)器、Spring、日志、安全及其他配置屬性,確保應(yīng)用程序正確啟動(dòng)和運(yùn)行,需要的朋友可以參考下2025-01-01
SpringSecurity數(shù)據(jù)庫進(jìn)行認(rèn)證和授權(quán)的使用
本文主要介紹了用戶的賬號、密碼以及角色信息在數(shù)據(jù)庫中的認(rèn)證和授權(quán),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
java多線程實(shí)現(xiàn)同步鎖賣票實(shí)戰(zhàn)項(xiàng)目
本文主要介紹了java多線程實(shí)現(xiàn)同步鎖賣票實(shí)戰(zhàn)項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
解決@Transaction注解導(dǎo)致動(dòng)態(tài)切換更改數(shù)據(jù)庫失效問題
這篇文章主要介紹了解決@Transaction注解導(dǎo)致動(dòng)態(tài)切換更改數(shù)據(jù)庫失效問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09

