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

Spring Cloud Gateway 解決跨域問題

這篇具有很好參考價值的文章主要介紹了Spring Cloud Gateway 解決跨域問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

??注:文中的解決方案在 Spring Cloud 2021.0.4、Spring Boot 2.7.4 版本中得到驗(yàn)證,完美解決,其他版本可參考

??請求流程如下圖:通過nginx反向代理到網(wǎng)關(guān),在通過網(wǎng)關(guān)轉(zhuǎn)發(fā)到具體的服務(wù)上
Spring Cloud Gateway 解決跨域問題
??關(guān)于跨域的理論百度上已經(jīng)有很多,網(wǎng)關(guān)到其他服務(wù)主要是通過注冊中心去找的服務(wù)名在進(jìn)行轉(zhuǎn)發(fā),所以不存在跨域,主要是解決nginx到網(wǎng)關(guān)的跨域問題

方案一:網(wǎng)關(guān)配置類

??在網(wǎng)關(guān)模塊注入跨域配置

@Configuration
public class GlobalCorsConfig {
    /**
     * 為了安全,建議只放行需要的地址(可以再yaml中定義進(jìn)行映射方便擴(kuò)展)
     */
    private List<String> sourceCors = Arrays.asList("http://localhost:8001", "http://localhost:8002", "http://localhost:8003");
    private List<String> methods = Arrays.asList("GET", "POST", "PUT", "DELETE", "OPTIONS");

    @Bean
    public CorsWebFilter corsWebFilter() {
        CorsConfiguration config = new CorsConfiguration();
        // 放行原始域
        if (CollectionUtils.isEmpty(sourceCors)) {
            config.addAllowedOrigin("*"); // 放行所有
        } else {
            for (String sourceCor : sourceCors) {
                config.addAllowedOrigin(sourceCor);
            }
        }
        // 放行請求頭
        if (CollectionUtils.isEmpty(methods)) {
            config.addAllowedHeader("*"); // 放行所有
        } else {
            for (String method : methods) {
                config.addAllowedHeader(method);
            }
        }
        config.setAllowCredentials(true); // 是否發(fā)送cookie
        config.addAllowedMethod("*"); // 放行請求方式
        config.addExposedHeader("*"); // 暴露頭部信息
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        return new CorsWebFilter(source);
    }
}
方案一:Gateway yaml 配置

??Gateway 也提供了跨域的配置類,可以直接在yaml中進(jìn)行配置,具體的類配置可以查看源碼 org.springframework.cloud.gateway.config.GlobalCorsProperties文章來源地址http://www.zghlxwxcb.cn/news/detail-505751.html

spring:
  cloud:
    gateway:
      globalcors: # 全局的跨域處理
        add-to-simple-url-handler-mapping: true # 解決options請求被攔截問題
        corsConfigurations:
          '[/**]':
            allowedOrigins: # 允許哪些網(wǎng)站的跨域請求 allowedOrigins: “*” 允許所有網(wǎng)站
              - "https://localhost:8001"
              - "https://localhost:8002"
              - "https://localhost:8003"
            allowedMethods: # 允許的跨域ajax的請求方式 “*” 允許所有
              - "GET"
              - "POST"
              - "DELETE"
              - "PUT"
              - "OPTIONS"
            allowedHeaders: "*" # 允許在請求中攜帶的頭信息
            allowCredentials: true # 是否允許攜帶cookie
            maxAge: 360000 # 這次跨域檢測的有效期

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

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

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

相關(guān)文章

  • Spring Boot 中的 Spring Cloud Gateway

    Spring Boot 中的 Spring Cloud Gateway

    Spring Cloud Gateway 是一個基于 Spring Boot 的網(wǎng)關(guān)框架,它提供了一種統(tǒng)一的入口,將所有的請求路由到不同的后端服務(wù)中。Spring Cloud Gateway 采用了 Reactive 編程模型,可以處理大量并發(fā)請求,同時還具備負(fù)載均衡、熔斷、限流等功能。本文將介紹 Spring Cloud Gateway 的原理和使用方法

    2024年02月12日
    瀏覽(20)
  • Spring Security系列教程之解決Spring Security環(huán)境中的跨域問題

    Spring Security系列教程之解決Spring Security環(huán)境中的跨域問題

    一. 啟用Spring Security 的CORS支持 1. 普通的跨域 方式1:在接口方法上利用@CrossOrigin注解解決跨域問題 方式2:通過實(shí)現(xiàn)WebMvcConfigurer接口來解決跨域問題 二. Spring Security環(huán)境下的跨域問題解決 通過上面的配置,我們已經(jīng)解決了Ajax的跨域請求問題,但是這個案例中也有潛在的威脅

    2024年02月05日
    瀏覽(88)
  • 解決Spring Boot前后端分離開發(fā)模式中的跨域問題

    在實(shí)際開發(fā)中,經(jīng)常會遇到前端Vue應(yīng)用與后端Spring Boot API接口存在跨域訪問的問題。本篇博客將分享解決Spring Boot前端Vue跨域問題的實(shí)戰(zhàn)經(jīng)驗(yàn),幫助開發(fā)者快速解決該問題。 跨域問題是由于瀏覽器的同源策略引起的。同源策略限制了從一個源加載的文檔或腳本如何與來自另一

    2024年02月10日
    瀏覽(571)
  • 解決gateway跨域問題

    只要與當(dāng)前瀏覽器訪問的url不同(協(xié)議,域名,端口號),就會產(chǎn)生跨域。 1. 配置文件解決,在gateway的配置文件中 注:要加上最下邊的配置,不然瀏覽器還是會報跨域問題,因?yàn)闉g覽器 Vary ?和? Access-Control-Allow-Origin ?兩個頭重復(fù)了兩次,其中瀏覽器對后者有唯一性限制!

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

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

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

    2024年02月16日
    瀏覽(14)
  • Spring Cloud 輕松解決跨域,別再亂用了!

    Spring Cloud 輕松解決跨域,別再亂用了!

    在Spring Cloud項(xiàng)目中,前后端分離目前很常見,在調(diào)試時,會遇到兩種情況的跨域: 前端頁面通過不同域名或IP訪問微服務(wù)的后臺,例如前端人員會在本地起HttpServer 直連后臺開發(fā)本地起的服務(wù),此時,如果不加任何配置,前端頁面的請求會被瀏覽器跨域限制攔截,所以,業(yè)務(wù)

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

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

    2024年01月19日
    瀏覽(21)
  • 關(guān)于spring cloud gateway中出現(xiàn)503 Service  Unavailable的問題

    關(guān)于spring cloud gateway中出現(xiàn)503 Service Unavailable的問題

    1.引用spring cloud gateway+nacos配置中心 2.微服務(wù)+分布式(本節(jié)與分布式問題無關(guān))項(xiàng)目 3.路由規(guī)則:網(wǎng)關(guān)端口:8085;第三方端口:8081,8086 第三方單獨(dú)訪問路徑localhost:8081/test/getUserTest?id=2 希望路由到:localhost:consumer-service/test/getUserTest?id=2 (這里我寫了兩個消費(fèi)者服務(wù),服務(wù)名一致

    2024年02月01日
    瀏覽(93)
  • 優(yōu)化 spring cloud gateway+nacos時服務(wù)恢復(fù)調(diào)用太慢問題

    問題描述 在使用 spring cloud gateway + nacos 做服務(wù)發(fā)現(xiàn)時,會發(fā)現(xiàn)當(dāng)下游的服務(wù)器恢復(fù)了,但是還有經(jīng)過一段時間 gateway 才成功轉(zhuǎn)發(fā)請求到剛恢復(fù)的下游服務(wù)上。于是我就深入源碼進(jìn)行企圖通過修改相關(guān)配置的方式優(yōu)化gateway服務(wù)發(fā)現(xiàn)的恢復(fù)時間。 相關(guān)依賴版本 源碼 經(jīng)過漫長的

    2024年02月01日
    瀏覽(93)
  • skywalking-agent-java默認(rèn)不支持spring cloud gateway問題

    skywalking-agent-java默認(rèn)不支持spring cloud gateway問題

    開發(fā)環(huán)境:Windows10 、JDK17 skywalking官網(wǎng)下載地址:https://skywalking.apache.org/downloads/ 解壓目錄為:D:Programssoft-Pluginsapache-skywalking-java-agent-8.16.0skywalking-agent 解壓后目錄結(jié)構(gòu)為: 可參考官網(wǎng)博客文檔:https://skywalking.apache.org/zh/2020-04-19-skywalking-quick-start/#232-idea 我的IDEA版本: Int

    2024年02月09日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包