国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringCloudAlibaba:服務(wù)網(wǎng)關(guān)之Gateway的cors跨域問題

這篇具有很好參考價值的文章主要介紹了SpringCloudAlibaba:服務(wù)網(wǎng)關(guān)之Gateway的cors跨域問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一:解決問題

二:什么是跨域

三:cors跨域是什么??


一:解決問題

遇到錯誤:

????????前端請求時報錯

SpringCloudAlibaba:服務(wù)網(wǎng)關(guān)之Gateway的cors跨域問題,SpringCloud,gateway,spring boot,分布式,微服務(wù),spring cloud

解決:

網(wǎng)關(guān)中添加配置文件,注意springboot版本,添加配置。

springboot升級成2.4.0以上時對AllowedOrigin設(shè)置發(fā)生了改變,不能有“ * ”,可以替換成AllowedOriginPattern
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
import org.springframework.web.util.pattern.PathPatternParser;

@Configuration
public class CorsConfig {

    // 該配置適用于reactive響應(yīng)式環(huán)境
    @Bean
    public CorsWebFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true); //是否允許攜帶cookie
        // config.addAllowedOrigin("*"); //可接受的域,是一個具體域名或者*(代表任意域名)
        // springboot升級成2.4.0以上時對AllowedOrigin設(shè)置發(fā)生了改變,不能有”*“,可以替換成AllowedOriginPattern
        config.addAllowedOriginPattern("*");
        config.addAllowedHeader("*"); //允許攜帶的頭
        config.addAllowedMethod("*"); //允許訪問的方式
        config.setAllowCredentials(true);

        // 必須是reactive包下的UrlBasedCorsConfigurationSource
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**", config);

        return new CorsWebFilter(source);
    }
    
}

二:什么是跨域

跨域是指瀏覽器處于安全考慮,對 JavaScript 發(fā)起的不同源的請求進行限制的一種機制。

所謂同源是指協(xié)議,域名和端口完全相同,不同源間請求則被認(rèn)為是跨域的。

常見的跨域場景包括:

  1. 主域名相同,子域名不同的場景,如?www.example.com?和?api.example.com
  2. 端口號不同,如?www.example.com:8080?和?www.example.com:8081
  3. 協(xié)議不同,如?http://www.example.com?和?https://www.example.com

當(dāng) JavaScript 請求不同源的資源時,會被瀏覽器拒絕。這種瀏覽器的安全限制機制,就稱為同源策略。

跨域并不是請求本身的問題,而是同源策略的限制導(dǎo)致的。

要跨域訪問資源,常用的解決方法是通過 CORS、JSONP、代理等方式進行跨域資源共享。

繞過同源策略,使得不同源間的數(shù)據(jù)交互成為可能,這就是跨域問題的根本解決之道。

三:cors跨域是什么??

CORS(Cross-Origin Resource Sharing) 是跨域資源共享,是一種瀏覽器技術(shù),它允許在一個域名的網(wǎng)頁請求其他域名的資源,解決了AJAX請求跨域的限制。

跨域是指一個域下的網(wǎng)頁請求另一個域名的資源,默認(rèn)情況下是被瀏覽器禁止的。 CORS提供了一種跨域請求資源的標(biāo)準(zhǔn)方法。

CORS主要通過服務(wù)端的配置來實現(xiàn)跨域訪問,主要有以下幾點:

  1. 服務(wù)端的響應(yīng)頭中包含Access-Control-Allow-Origin字段,并指定允許請求資源的域名。
  2. 對預(yù)檢請求進行處理,響應(yīng)頭中包含Access-Control-Allow-Methods等字段,表明允許的請求方法。
  3. CORS請求需要攜帶Origin字段,表示請求來源。
  4. 支持憑證的請求需返回Access-Control-Allow-Credentials字段。
  5. OPTIONS請求用于預(yù)檢,以確定實際請求是否安全。

啟用CORS后,瀏覽器將根據(jù)CORS的頭信息判斷跨域請求是否安全,來決定是否允許這次跨域請求。

總之,CORS通過服務(wù)器配置請求域的白名單,并在頭信息中進行溝通,來決定跨域請求是否可以發(fā)出,從而實現(xiàn)跨域資源訪問。這是一個廣泛應(yīng)用的跨域解決方案。?文章來源地址http://www.zghlxwxcb.cn/news/detail-611148.html

到了這里,關(guān)于SpringCloudAlibaba:服務(wù)網(wǎng)關(guān)之Gateway的cors跨域問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • SpringCloud - GateWay服務(wù)網(wǎng)關(guān)

    SpringCloud - GateWay服務(wù)網(wǎng)關(guān)

    gateway 官網(wǎng):https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 在微服務(wù)架構(gòu)中,一個系統(tǒng)往往由多個微服務(wù)組成,而這些服務(wù)可能部署在不同機房、不同地區(qū)、不同域名下。這種情況下,客戶端(例如瀏覽器、手機、軟件工具等)想要直接請求這些服務(wù)

    2024年02月07日
    瀏覽(19)
  • 微服務(wù)網(wǎng)關(guān) —— SpringCloud Gateway

    Spring Cloud Gateway 基于 Spring 5、Spring Boot 2 和 Project Reactor 等技術(shù),是在 Spring 生態(tài)系統(tǒng)之上構(gòu)建的 API 網(wǎng)關(guān)服務(wù),Gateway 旨在提供一種簡單而有效的方式來對 API 進行路由以及提供一些強大的過濾器功能,例如熔斷、限流、重試等 Spring Cloud Gateway 具有如下特性: 基于 Spring Frame

    2024年02月10日
    瀏覽(42)
  • 跨域問題以及在springcloud的gateway中解決跨域問題

    跨域問題以及在springcloud的gateway中解決跨域問題

    跨域問題: 當(dāng)兩個頁面的 域名不一致時, 瀏覽器禁止 請求的發(fā)起者與服務(wù)端發(fā)生跨域 ajax請求 ,請求被瀏覽器攔截的問題 。 發(fā)生跨域問題需要滿足的點有:1.兩個頁面的域名不一致 2.兩個頁面發(fā)生的是ajax請求。 這里不允許跨域是 瀏覽器禁止的 ! 域名不一致包括 域名不同

    2024年02月16日
    瀏覽(14)
  • 【SpringCloud技術(shù)專題】「Gateway網(wǎng)關(guān)系列」(2)微服務(wù)網(wǎng)關(guān)服務(wù)的Gateway功能配置指南分析

    【SpringCloud技術(shù)專題】「Gateway網(wǎng)關(guān)系列」(2)微服務(wù)網(wǎng)關(guān)服務(wù)的Gateway功能配置指南分析

    Spring Cloud Gateway簡介 Spring Cloud Gateway是Spring Cloud體系的第二代網(wǎng)關(guān)組件,基于Spring 5.0的新特性WebFlux進行開發(fā),底層網(wǎng)絡(luò)通信框架使用的是Netty,所以其吞吐量高、性能強勁,未來將會取代第一代的網(wǎng)關(guān)組件Zuul。 Spring Cloud Gateway可以通過服務(wù)發(fā)現(xiàn)組件自動轉(zhuǎn)發(fā)請求,默認(rèn)集成了

    2024年02月11日
    瀏覽(53)
  • SpringCloud第三篇:GateWay服務(wù)網(wǎng)關(guān)

    SpringCloud第三篇:GateWay服務(wù)網(wǎng)關(guān)

    ? ? ??傳統(tǒng)的單體架構(gòu)中只需要開放一個服務(wù)給客戶端調(diào)用,但是微服務(wù)架構(gòu)中是將一個系統(tǒng)拆分成多個微服務(wù),如果沒有網(wǎng)關(guān),客戶端只能在本地記錄每個微服務(wù)的調(diào)用地址,當(dāng)需要調(diào)用的微服務(wù)數(shù)量很多時,它需要了解每個服務(wù)的接口,這個工作量很大。那有了網(wǎng)關(guān)之后

    2024年02月08日
    瀏覽(27)
  • SpringCloud_Gateway服務(wù)網(wǎng)關(guān)

    SpringCloud_Gateway服務(wù)網(wǎng)關(guān)

    Spring Cloud Gateway 用\\\"Netty + Webflux\\\"實現(xiàn),不需要導(dǎo)入Web依賴。 Webflux 模式替換了舊的Servlet線程模型。用少量的線程處理request和response io操作,這些線程稱為Loop線程,而業(yè)務(wù)交給響應(yīng)式編程框架處理,響應(yīng)式編程是非常靈活的,用戶可以將業(yè)務(wù)中阻塞的操作提交到響應(yīng)式框架的

    2024年02月02日
    瀏覽(24)
  • SpringCloud Gateway解決CROS跨域問題

    目錄 一、問題 二、原因 二、解決方法 1、gateway設(shè)置允許跨域 2、手動寫一個?CorsResponseHeaderFilter?的?GlobalFilter?去修改Response中的頭 前端代碼訪問后端代碼時候會出現(xiàn) ? 這種報錯,前端會顯示 不允許有多個’Access-Control-Allow-Origin’ CORS頭 仔細(xì)查看返回的響應(yīng)頭,里面包含了

    2024年01月19日
    瀏覽(21)
  • 【SpringCloud技術(shù)專題】「Gateway網(wǎng)關(guān)系列」(1)微服務(wù)網(wǎng)關(guān)服務(wù)的Gateway組件的原理介紹分析

    【SpringCloud技術(shù)專題】「Gateway網(wǎng)關(guān)系列」(1)微服務(wù)網(wǎng)關(guān)服務(wù)的Gateway組件的原理介紹分析

    為什么要有服務(wù)網(wǎng)關(guān)? 我們都知道在微服務(wù)架構(gòu)中,系統(tǒng)會被拆分為很多個微服務(wù)。那么作為客戶端要如何去調(diào)用這么多的微服務(wù)呢?難道要一個個的去調(diào)用嗎?很顯然這是不太實際的,我們需要有一個統(tǒng)一的接口與這些微服務(wù)打交道,這就是我們需要服務(wù)網(wǎng)關(guān)的原因。 我們

    2024年02月11日
    瀏覽(32)
  • SpringCloud基礎(chǔ)篇-10-服務(wù)網(wǎng)關(guān)-Gateway

    SpringCloud基礎(chǔ)篇-10-服務(wù)網(wǎng)關(guān)-Gateway

    上一代網(wǎng)關(guān)Zuul 官網(wǎng) SpringCloudGateway官網(wǎng),變化很大,以實際為準(zhǔn) Gateway是在Spring生態(tài)系統(tǒng)之上構(gòu)建的API網(wǎng)關(guān)服務(wù),基于Spring5SpringBoot2和ProjectReactor等技術(shù)。 Gateway旨在提供一種簡單而有效的方式來對API進行路由,以及提供一些強大的過濾器功能,例如:熔斷、限流、重試等 SpringCl

    2024年04月11日
    瀏覽(20)
  • day08-SpringCloud Gateway-服務(wù)網(wǎng)關(guān)

    沒有使用網(wǎng)關(guān)服務(wù)時: 使用網(wǎng)關(guān)服務(wù)后: 官網(wǎng):Spring Cloud Gateway Gateway是Spring生態(tài)系統(tǒng)之上構(gòu)建的API網(wǎng)關(guān)服務(wù),基于Spring、SpringBoot和Project Reactor等技術(shù) Gateway旨在提供一種簡單有效的方式來對API進行路由,以及提供一切強大的過濾器功能,例如:熔斷、限流、重試等 鑒權(quán) 流

    2024年02月07日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包