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

Spring Cloud Gateway系例—參數(shù)配置(CORS 配置、SSL、元數(shù)據(jù))

這篇具有很好參考價值的文章主要介紹了Spring Cloud Gateway系例—參數(shù)配置(CORS 配置、SSL、元數(shù)據(jù))。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、CORS 配置

你可以配置網(wǎng)關(guān)來控制全局或每個路由的 CORS 行為。兩者都提供同樣的可能性。

1. Global CORS 配置

“global” CORS配置是對 Spring Framework CorsConfiguration 的URL模式的映射。下面的例子配置了 CORS。

Example 77. application.yml

spring:
  cloud:
    gateway:
      globalcors:
        cors-configurations:
          '[/**]':
            allowedOrigins: "https://docs.spring.io"
            allowedMethods:
            - GET

在前面的例子中,對于所有GET請求的路徑,允許來自 docs.spring.io 的請求的CORS請求。

要為未被某些網(wǎng)關(guān)路由謂詞處理的請求提供相同的 CORS 配置,請將 spring.cloud.gateway.globalcors.add-to-simple-url-handler-mapping 屬性設(shè)為 true。當你試圖支持 CORS 預(yù)檢請求,而你的路由謂詞因為 HTTP 方法是 options 而不能評估為 true 時,這很有用。

2. 路由的 CORS 配置

“route” configuration 允許將CORS直接應(yīng)用于帶有key CORS 的路由作為元數(shù)據(jù)。像全局配置一樣,這些屬性屬于 Spring Framework CorsConfiguration。

如果路由中沒有 Path 謂詞,則將應(yīng)用 '/**'。

Example 78. application.yml

spring:
  cloud:
    gateway:
      routes:
      - id: cors_route
        uri: https://example.org
        predicates:
        - Path=/service/**
        metadata:
          cors
            allowedOrigins: '*'
            allowedMethods:
              - GET
              - POST
            allowedHeaders: '*'
            maxAge: 30

二、路由元數(shù)據(jù)配置

你可以通過使用元數(shù)據(jù)為每個路由配置額外的參數(shù),如下所示。

Example 73. application.yml

spring:
  cloud:
    gateway:
      routes:
      - id: route_with_metadata
        uri: https://example.org
        metadata:
          optionName: "OptionValue"
          compositeObject:
            name: "value"
          iAmNumber: 1

你可以從一個 exchange 所獲取所有的元數(shù)據(jù)屬性,如下所示

Route route = exchange.getAttribute(GATEWAY_ROUTE_ATTR);
// get all metadata properties
route.getMetadata();
// get a single metadata property
route.getMetadata(someKey);

三、配置(Configuration)

Spring Cloud Gateway 的配置是由 RouteDefinitionLocator 實例的集合驅(qū)動的。下面的列表顯示了 RouteDefinitionLocator 接口的定義。

Example 71. RouteDefinitionLocator.java

public interface RouteDefinitionLocator {
    Flux<RouteDefinition> getRouteDefinitions();
}

默認情況下,PropertiesRouteDefinitionLocator 通過使用Spring Boot的 @ConfigurationProperties 機制加載屬性。

前面的配置例子都使用了一種快捷方式,即使用位置參數(shù)而不是命名參數(shù)。下面的兩個例子是等價的。

Example 72. application.yml

spring:
  cloud:
    gateway:
      routes:
      - id: setstatus_route
        uri: https://example.org
        filters:
        - name: SetStatus
          args:
            status: 401
      - id: setstatusshortcut_route
        uri: https://example.org
        filters:
        - SetStatus=401

對于網(wǎng)關(guān)的某些用途來說,屬性已經(jīng)足夠了,但一些生產(chǎn)用例會從外部來源(如數(shù)據(jù)庫)加載配置中受益。未來的里程碑版本將有基于 Spring Data Repository 的 RouteDefinitionLocator 實現(xiàn),如 Redis、MongoDB和Cassandra。

四、TLS 和 SSL

網(wǎng)關(guān)可以通過遵循通常的 Spring server configuration 來監(jiān)聽 HTTPS 請求。下面的例子顯示了如何做到這一點。

Example 67. application.yml

server:
  ssl:
    enabled: true
    key-alias: scg
    key-store-password: scg1234
    key-store: classpath:scg-keystore.p12
    key-store-type: PKCS12

你可以將網(wǎng)關(guān)路由到HTTP和HTTPS后端。如果你要路由到HTTPS后端,你可以通過以下配置將網(wǎng)關(guān)配置為信任所有下游的證書。

Example 68. application.yml

spring:
  cloud:
    gateway:
      httpclient:
        ssl:
          useInsecureTrustManager: true

使用不安全的 trust manager 不適合于生產(chǎn)。對于生產(chǎn)部署,你可以用一組已知的證書來配置網(wǎng)關(guān),它可以通過以下配置來信任。

Example 69. application.yml

spring:
  cloud:
    gateway:
      httpclient:
        ssl:
          trustedX509Certificates:
          - cert1.pem
          - cert2.pem

如果 Spring Cloud Gateway 沒有配置受信任的證書,就會使用默認的 trust store(你可以通過設(shè)置 javax.net.ssl.trustStore 系統(tǒng)屬性來覆蓋它)。

1. TLS 握手

網(wǎng)關(guān)維護著一個client pool,它用來路由到后端。當通過HTTPS進行通信時,客戶端發(fā)起了一個TLS握手。一些 timeout 配置與這個握手相關(guān)。你可以對這些 timeouts 進行配置,如下(默認值)。

Example 70. application.yml文章來源地址http://www.zghlxwxcb.cn/news/detail-639128.html

spring:
  cloud:
    gateway:
      httpclient:
        ssl:
          handshake-timeout-millis: 10000
          close-notify-flush-timeout-millis: 3000
          close-notify-read-timeout-millis: 0

到了這里,關(guān)于Spring Cloud Gateway系例—參數(shù)配置(CORS 配置、SSL、元數(shù)據(jù))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Spring Cloud Gateway實踐(一):獲取參數(shù)

    SCG(Spring Cloud Gateway)就我個人理解,是想讓開發(fā)者把它作為一個較為簡單的網(wǎng)關(guān)框架,只需簡單在yml文件中寫幾個配置項就可以運行。所以它不大推薦在網(wǎng)關(guān)這一層獲取body數(shù)據(jù)或者做一下復(fù)雜的業(yè)務(wù)處理。故而在實際編寫代碼中,獲取queryParam很容易,但body數(shù)據(jù)就比較麻煩

    2024年02月05日
    瀏覽(45)
  • Spring-Cloud-Gateway修改請求(json,form帶文件請求)參數(shù),返回值參數(shù)

    新項目需要在getway統(tǒng)一做入?yún)?、出參加解密,記錄日志。記錄一下form,x-www-form-urlencoded , json 這幾種修改數(shù)據(jù)的方式。 gateway做攔截器是實現(xiàn)GlobalFilter接口,修改json方式網(wǎng)上有很多文章,后來又想研究研究能不能實現(xiàn)修改form-data參數(shù),以及文件請求,后者文章不多大部分是怎

    2024年02月16日
    瀏覽(28)
  • Spring Cloud Gateway:配置

    Spring Cloud Gateway提供了多種配置選項,以便您根據(jù)需要自定義和調(diào)整其行為。以下是一些常見的配置選項: 路由配置:您可以使用 spring.cloud.gateway.routes 屬性配置網(wǎng)關(guān)的路由規(guī)則。通過定義路由規(guī)則,您可以將傳入請求映射到相應(yīng)的后端服務(wù)。 負載均衡配置:您可以配置網(wǎng)關(guān)

    2024年02月13日
    瀏覽(35)
  • Spring cloud Gateway常用配置

    前面的例子是通過路徑(Path)方式配置路由轉(zhuǎn)發(fā),gateway還還有其他的配置,下面做個簡單的介紹 Route 主要由:路由id、目標uri、斷言集合、過濾器集合組成。前面的實例用到了id、uri、斷言。 id:路由標識,要求唯一,名稱任意(默認值 uuid,一般不用,需要自定義) uri:請

    2024年02月04日
    瀏覽(44)
  • Spring cloud Gateway 配置詳解

    斷言(Predicate):參照 Java8 的新特性Predicate,允許開發(fā)人員匹配 HTTP 請求中的任何內(nèi)容,比如請求頭或請求參數(shù),最后根據(jù)匹配結(jié)果返回一個布爾值。 路由(route):由ID、目標URI、斷言集合和過濾器集合組成。如果聚合斷言結(jié)果為真,則轉(zhuǎn)發(fā)到該路由。 過濾器(filter):可

    2024年02月09日
    瀏覽(25)
  • Spring Cloud Gateway 路由配置策略

    Spring Cloud Gateway 是一個基于 Spring Boot 2.x 和 Spring WebFlux 的輕量級網(wǎng)關(guān)服務(wù),用于構(gòu)建微服務(wù)架構(gòu)中的 API 網(wǎng)關(guān)。它提供了一種簡單、高效、靈活和可擴展的方式來路由請求到后端的微服務(wù)。 Spring Cloud Gateway 的核心特性包括: 路由功能:可以根據(jù)請求的屬性(路徑、參數(shù)等)將

    2024年01月20日
    瀏覽(20)
  • 【Spring Cloud】Gateway的配置與使用

    【Spring Cloud】Gateway的配置與使用

    Gateway其實是 springcloud 原生 的東西,但是我還是想放在這里講,因為我們使用nacos時,前端調(diào)用服務(wù)之后,一般會調(diào)用到我們的網(wǎng)關(guān)上面,然后網(wǎng)關(guān)選擇我們的nacos服務(wù),再調(diào)用后端的服務(wù) 在當今微服務(wù)架構(gòu)中,網(wǎng)關(guān)起著至關(guān)重要的角色。它充當著應(yīng)用程序和外部世界之間的

    2024年02月09日
    瀏覽(36)
  • spring cloud gateway中配置uri

    gateway中配置uri配置有三種方式: websocket方式:uri: ws://localhost:9000 http方式: uri: http://localhost:8130/ lb注冊中心配置方式(注冊的服務(wù)名稱): uri: lb://monitor-ms gateway的lb方式識別的服務(wù)名稱命名規(guī)則:

    2024年02月12日
    瀏覽(17)
  • Spring Cloud Gateway:配置HTTP超時

    可以為所有路由配置HTTP超時(響應(yīng)和連接),并針對每個特定路由進行覆蓋配置。 1.全局超時時間配置 您可以為Spring Cloud Gateway配置全局的超時時間,以應(yīng)用于所有路由。這樣可以確保所有請求在特定時間內(nèi)完成,無論是否針對每個路由進行了單獨的超時配置。 要配置全局

    2024年02月16日
    瀏覽(24)
  • Spring-cloud-gateway 路由配置方式及匹配規(guī)則

    1.1 基礎(chǔ)路由配置?式 如果請求的?標地址,是單個的URI資源路徑,配置?件實例如下: 各字段含義如下。 id:我們?定義的路由 ID,保持唯? uri:?標服務(wù)地址 predicates:路由條件,Predicate 接受?個輸?參數(shù),返回?個布爾值結(jié)果。該接?包含多種默 認?法來將 Predicate

    2024年02月04日
    瀏覽(28)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包