最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Gateway如何實(shí)現(xiàn)全局跨域

 更新時(shí)間:2024年04月22日 10:00:18   作者:穿城大餅  
這篇文章主要介紹了Gateway如何實(shí)現(xiàn)全局跨域問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

解決方案:Gateway實(shí)現(xiàn)全局跨域

關(guān)鍵詞

  • spring:cloud:gateway:globalcors
  • gateway 使用 WebFlux 作為服務(wù)器,項(xiàng)目依賴(lài) starter-webflux,不要依賴(lài) starter-web

一、網(wǎng)關(guān)介紹

網(wǎng)關(guān)是介于客戶(hù)端和服務(wù)器端之間的中間層,所有的外部請(qǐng)求都會(huì)先經(jīng)過(guò)網(wǎng)關(guān)這一層。

也就是說(shuō),API 的實(shí)現(xiàn)方面更多的考慮業(yè)務(wù)邏輯,而安全、性能、監(jiān)控可以交由 網(wǎng)關(guān)來(lái)做,這樣既提高業(yè)務(wù)靈活性又不缺安全性,典型的架構(gòu)圖如圖所示:

優(yōu)點(diǎn):

  • 安全 ,只有網(wǎng)關(guān)系統(tǒng)對(duì)外進(jìn)行暴露,微服務(wù)可以隱藏在內(nèi)網(wǎng),通過(guò)防火墻保護(hù)。
  • 易于監(jiān)控??梢栽诰W(wǎng)關(guān)收集監(jiān)控?cái)?shù)據(jù)并將其推送到外部系統(tǒng)進(jìn)行分析。
  • 易于認(rèn)證。可以在網(wǎng)關(guān)上進(jìn)行認(rèn)證,然后再將請(qǐng)求轉(zhuǎn)發(fā)到后端的微服務(wù),而無(wú)須在每個(gè)微服務(wù)中進(jìn)行認(rèn)證。
  • 減少了客戶(hù)端與各個(gè)微服務(wù)之間的交互次數(shù)
  • 易于統(tǒng)一授權(quán)

微服務(wù)網(wǎng)關(guān)就是一個(gè)系統(tǒng),通過(guò)暴露該微服務(wù)網(wǎng)關(guān)系統(tǒng),方便我們進(jìn)行相關(guān)的鑒權(quán),安全控制,日志統(tǒng)一處理,易于監(jiān)控的相關(guān)功能。

二、實(shí)現(xiàn)微服務(wù)網(wǎng)關(guān)的技術(shù)

  • Nginx系列,Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)
  • zuul ,Zuul 是 Netflix 出品的一個(gè)基于 JVM 路由和服務(wù)端的負(fù)載均衡器。
  • spring-cloud-gateway,是spring 出品的 基于spring 的網(wǎng)關(guān)項(xiàng)目,集成斷路器,路徑重寫(xiě),性能比Zuul好。

我們使用gateway這個(gè)網(wǎng)關(guān)技術(shù),無(wú)縫銜接到基于spring cloud的微服務(wù)開(kāi)發(fā)中來(lái)。

三、微服務(wù)網(wǎng)關(guān)跨域配置

1. 配置文件:application.yml(在網(wǎng)關(guān)中開(kāi)啟跨域訪(fǎng)問(wèn)功能)

修改application.yml ,在spring.cloud.gateway節(jié)點(diǎn)添加配置

      # 網(wǎng)關(guān)跨域配置start---------------------------------
      # 開(kāi)啟網(wǎng)關(guān)的跨域功能,具體微服務(wù)上的跨域需要進(jìn)行關(guān)閉,否則無(wú)效
      globalcors:
        cors-configurations:
          '[/**]': # 匹配所有請(qǐng)求
            allowedOrigins: "*" # 跨域處理 允許所有的域
            allowedMethods: # 支持的方法
              - GET
              - POST
              - PUT
              - DELETE
      # 網(wǎng)關(guān)跨域配置end---------------------------------

2. 配置案例

spring:
  application:
    name: dabing-gateway
  cloud:
    gateway:
    	
      # 網(wǎng)關(guān)跨域配置start---------------------------------
      # 開(kāi)啟網(wǎng)關(guān)的跨域功能,具體微服務(wù)上的跨域需要進(jìn)行關(guān)閉,否則無(wú)效
      globalcors:
        cors-configurations:
          '[/**]': # 匹配所有請(qǐng)求
            allowedOrigins: "*" # 跨域處理 允許所有的域
            allowedMethods: # 支持的方法
              - GET
              - POST
              - PUT
              - DELETE
      # 網(wǎng)關(guān)跨域配置end---------------------------------
		
      routes:
        - id: xxx
          uri: lb://xxx
          predicates:
            - Path=/xxx/**
          filters:
            - StripPrefix= 1
         
server:
  port: 9090
eureka:
  client:
    service-url:
      defaultZone: http://DabingCloudEurekaServerA:8761/eureka
  instance:
    prefer-ip-address: true

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

雅安市| 土默特左旗| 刚察县| 永新县| 图们市| 密山市| 建昌县| 万源市| 全州县| 兰溪市| 山丹县| 图们市| 巫山县| 柘荣县| 云安县| 读书| 龙海市| 石嘴山市| 黔西| 安远县| 沙坪坝区| 米林县| 化隆| 丰原市| 沧源| 岳阳市| 建瓯市| 静乐县| 克东县| 始兴县| 太康县| 哈尔滨市| 东台市| 报价| 宾川县| 南召县| 壶关县| 金阳县| 博野县| 三台县| 巴林左旗|