国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

視頻網(wǎng)站如何做推廣搜索引擎大全網(wǎng)站

視頻網(wǎng)站如何做推廣,搜索引擎大全網(wǎng)站,wordpress cdn ip,網(wǎng)站開發(fā)中職教材目錄 介紹: 核心概念 依賴 路由 斷言 基本的斷言工廠 自定義斷言 過濾器 路由過濾器 過濾器工廠 自定義路由過濾器 全局過濾器 其他 過濾器執(zhí)行順序 前置后置(?) 跨域問題 yaml 解決 配置類解決 介紹&#x…

目錄

介紹:

核心概念

依賴

路由

斷言 ? ?

基本的斷言工廠

自定義斷言

過濾器

路由過濾器

過濾器工廠

自定義路由過濾器

全局過濾器

其他

過濾器執(zhí)行順序

前置后置(?)

跨域問題

yaml 解決

配置類解決?


介紹:

Gateway網(wǎng)絡(luò)為微服務(wù)架構(gòu)提供簡單且統(tǒng)一的API路由管理,作為系統(tǒng)的統(tǒng)一入口。

核心概念


路由(route):路由是網(wǎng)關(guān)中最基礎(chǔ)的部分,路由信息包括一個(gè)ID、一個(gè)URI、一組斷言工廠、一組Filter組成。
斷言(predicates):斷言函數(shù)允許開發(fā)者去定義匹配Http request中的任何信息,比如請求頭和參數(shù)等。如果斷言為真,則說明請求的URL和配置的路由匹配。
過濾器(Filter):Spring Cloud Gateway中的filter分為Gateway Filter和Global Filter。Filter可以對請求和響應(yīng)進(jìn)行處理。Filter只有pre和post兩種。

依賴


<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

路由

spring:application:name: gatewaycloud:nacos:discovery:server-addr: 192.168.178.129:8848gateway:routes:- id: shop-useruri: lb://shop-user    # nacos 中注冊的服務(wù)名predicates:- Path=/config/test- id: shop-user2uri: 192.168.178.128:111   #ippredicates:- Path=/config/test2

斷言 ? ?

基本的斷言工廠

Path?? ?請求路徑必須符合指定規(guī)則- Path=/red/{segment},/blue/**
After?是某個(gè)時(shí)間點(diǎn)后的請求- After=2012-01-20T17:42:47.789-07:00[America/Denver]
Before是某個(gè)時(shí)間點(diǎn)之前的請求- Before=2012-01-20T17:42:47.789+07:00[Asia/Shanghai
Between是某兩個(gè)時(shí)間點(diǎn)之前的請求- Between=2012-01-20T17:42:47.789-07:00[America/Denver] ,2012-01-20T17:42:47.789+07:00[Asia/Shanghai
Cookie?? ?請求必須包含某些cookie?- Cookie=chocolate,ch.p
Header?請求必須包含某些header- Header=X-Request-ld, \d+
Host?請求必須是訪問某個(gè)host(域名)- Host=.something.org,.anotherhost.org
Method?? ?請求凡是必須是指定方式- Method=GEt,POST
Query請求參數(shù)必須包含指定參數(shù)?- Query=name,kack或者- Query=name
RemoteAddr?? ?請求者的ip必須是指定范圍?- RemoteAddr=192.168.1.1/24

官網(wǎng):路由謂詞工廠

自定義斷言

步驟:

  1. 開頭任意取名,但是必須以RoutePredicateFactory后綴結(jié)尾
  2. 繼承AbstractRoutePredicateFactory抽象類仿照這個(gè)源碼寫,這個(gè)源碼的路由規(guī)則是根據(jù)時(shí)間來定義的
public class AfterRoutePredicateFactory extends AbstractRoutePredicateFactory<Config> {public static final String DATETIME_KEY = "datetime";public AfterRoutePredicateFactory() {super(Config.class);}//支持shortcut 如果不重寫 用簡便形式寫就會報(bào)錯(cuò)public List<String> shortcutFieldOrder() {return Collections.singletonList("datetime");}//ServerWebExchange這個(gè)類似與request,這個(gè)是判斷是否讓請求通過的規(guī)則public Predicate<ServerWebExchange> apply(final Config config) {return new GatewayPredicate() {public boolean test(ServerWebExchange serverWebExchange) {ZonedDateTime now = ZonedDateTime.now();return now.isAfter(config.getDatetime());}public Object getConfig() {return config;}public String toString() {return String.format("After: %s", config.getDatetime());}};}//路由規(guī)則public static class Config {private @NotNull ZonedDateTime datetime;public Config() {}public ZonedDateTime getDatetime() {return this.datetime;}public void setDatetime(ZonedDateTime datetime) {this.datetime = datetime;}}
}

過濾器

路由過濾器

路由過濾器允許以某種方式修改傳入的HTTP請求或傳出的HTTP響應(yīng)。路由過濾器僅適用于特定的路由。

過濾器工廠

AddRequestHeader給當(dāng)前請求添加一個(gè)請求頭- AddRequestHeader=X-Request-red, blue
RemoveRequestHeader移除請求頭- RemoveRequestHeader=X-Request-Foo
SetRequestHeader標(biāo)記請求頭- SetRequestHeader=X-Request-Red, Blue
AddRequestParameter添加請求參數(shù)- AddRequestParameter=red, blue
RemoveRequestParameter刪除請求參數(shù)- RemoveRequestParameter=red
RemoveResponseHeader從響應(yīng)結(jié)果中移除一個(gè)響應(yīng)頭- RemoveResponseHeader=X-Response-Foo
SetResponseHeader編輯響應(yīng)中的響應(yīng)頭- SetResponseHeader=X-Response-Red, Blue
RemoveResponseHeader刪除響應(yīng)中的響應(yīng)頭- RemoveResponseHeader=X-Response-Foo
PrefixPath這將作為所有匹配請求的路徑的前綴- PrefixPath=/mypath
SetPath修改訪問地址- SetPath=/segment
RedirectTo重定向- RedirectTo=302, https://acme.org

全部:GatewayFilter 工廠

默認(rèn)過濾器

server:port: 10010 # 網(wǎng)關(guān)端口
spring:application: name: gateway # 服務(wù)名稱cloud:nacos:server-addr: localhost:8848 # nacos地址gateway:routes: - id: user-service # url: http://127.0.0.1:8081 url: lb//userservice predicates: # 路由斷言,也就是判斷請求是否符合路由規(guī)則的條件- Path=/usr/** # 這個(gè)是按照路徑匹配,只要以/user/開頭就符合要求- id: order-service url: lb//orderservicepredicates:- Path=/order/** default-filters: # 默認(rèn)過濾器,會對所有的路由請求都生效- AddRequestHeader=Truth,luxifa is  following her dream # 添加請求頭

自定義路由過濾器

1、新建過濾器名稱要以GatewayFilterFactory結(jié)尾

2、繼承AbstractGatewayFilterFactory<MyGatewayFilterFactory.Config>重寫其中的方法

@Component
public class MyGatewayFilterFactory extends AbstractGatewayFilterFactory<MyGatewayFilterFactory.Config>
{public MyGatewayFilterFactory(){super(MyGatewayFilterFactory.Config.class);}@Overridepublic GatewayFilter apply(MyGatewayFilterFactory.Config config){return new GatewayFilter(){@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain){ServerHttpRequest request = exchange.getRequest();System.out.println("進(jìn)入了自定義網(wǎng)關(guān)過濾器MyGatewayFilterFactory,status:"+config.getStatus());if(request.getQueryParams().containsKey("atguigu")){return chain.filter(exchange);}else{exchange.getResponse().setStatusCode(HttpStatus.BAD_REQUEST);return exchange.getResponse().setComplete();}}};}@Overridepublic List<String> shortcutFieldOrder() {return Arrays.asList("status");}public static class Config{@Getter@Setterprivate String status;//設(shè)定一個(gè)狀態(tài)值/標(biāo)志位,它等于多少,匹配和才可以訪問}
}

全局過濾器

創(chuàng)建全局過濾器實(shí)現(xiàn)GlobalFilter, Ordered 接口,重寫其中的方法

public class MyGlobalFilter implements GlobalFilter, Ordered {@Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {// 在此處編寫全局過濾器的邏輯return chain.filter(exchange);}/*** 數(shù)字越小優(yōu)先級越高* @return*/@Overridepublic int getOrder(){return 1;}
}

其他

過濾器執(zhí)行順序

默認(rèn)路由過濾器 --》路由過濾器 ---》 全局過濾器

前置后置(?)

前置過濾直接在return chain.filter(exchange);? 前寫入前置邏輯

后置過濾器

 @Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain, String name, String args) {Mono<Void> result = chain.filter(exchange);return result.then(Mono.fromRunnable(() -> {// 編寫后置邏輯}));}

跨域問題

yaml 解決

spring:cloud:gateway:globalcors: # 全局的跨域處理add-to-simple-url-handler-mapping: true # 解決options請求被攔截問題corsConfigurations:'[/**]': # 攔截所有請求allowedOrgins:  # 允許哪些網(wǎng)站的跨域請求- "http://localhost:8090"- "http://www.leyou.com"allowedMethods: # 允許的跨域ajax的請求方式- "GET"- "POST"- "DELETE"- "PUT"- "OPTIONS"allowedHeaders: "*" # 允許在請求頭攜帶的信息 * 代表允許所有請求頭allowCredentials: true #是否允許攜帶cookiemaxAge: 360000 # 這次跨域檢測的有效期

配置類解決?

@Configuration
public class CorsConfig {@Beanpublic CorsWebFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowedHeader("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());source.registerCorsConfiguration("/**", config);return new CorsWebFilter(source);}
}

http://aloenet.com.cn/news/39304.html

相關(guān)文章:

  • 天津外貿(mào)營銷型網(wǎng)站建設(shè)公司seo頁面鏈接優(yōu)化
  • 平面設(shè)計(jì)班seo優(yōu)化廣告
  • 買cms做網(wǎng)站seo推廣軟件品牌
  • 香港外貿(mào)網(wǎng)站建設(shè)谷歌搜索引擎網(wǎng)址
  • 網(wǎng)站子頁怎么做如何能查到百度搜索排名
  • 北京大學(xué)學(xué)術(shù)學(xué)風(fēng)建設(shè)網(wǎng)站網(wǎng)站運(yùn)營優(yōu)化培訓(xùn)
  • 做物流網(wǎng)站的圖片素材關(guān)鍵詞seo是什么意思
  • 縉云做網(wǎng)站廈門seo代理商
  • wordpress企業(yè)網(wǎng)站模板下載seo如何提升排名收錄
  • 網(wǎng)站建設(shè)與網(wǎng)頁設(shè)計(jì)今天高清視頻免費(fèi)播放
  • 鄭州網(wǎng)站推廣¥做下拉去118cr餐飲營銷案例100例
  • 網(wǎng)站建設(shè)維護(hù)管理辦法外貿(mào)營銷型網(wǎng)站制作公司
  • 北京網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作蘇州網(wǎng)站關(guān)鍵字優(yōu)化
  • 茂名網(wǎng)站制作百度推廣后臺登錄頁面
  • 做振動盤的企業(yè)網(wǎng)站中國軍事新聞最新消息
  • 網(wǎng)站建設(shè)程序源碼青島網(wǎng)站優(yōu)化公司
  • flash做ppt的模板下載網(wǎng)站有哪些西安網(wǎng)站開發(fā)制作公司
  • 北京網(wǎng)站制作公司建站體驗(yàn)營銷理論
  • 怎樣做網(wǎng)站-百度邯鄲今日頭條最新消息
  • 百度不收錄網(wǎng)站首頁女教師網(wǎng)課入侵錄屏冫
  • 企業(yè)做網(wǎng)站的申請報(bào)告廣州seo網(wǎng)絡(luò)推廣員
  • 離婚協(xié)議書模板 完整版海南seo代理加盟供應(yīng)商
  • 網(wǎng)站交互圖片怎么做的免費(fèi)搭建網(wǎng)站的軟件
  • 網(wǎng)站開發(fā)維護(hù)求職信全球十大搜索引擎排名
  • 網(wǎng)站建設(shè)的最新技術(shù)寧波seo優(yōu)化公司
  • 網(wǎng)絡(luò)代理是干嘛的重慶seo扣費(fèi)
  • 廣州站桂平網(wǎng)絡(luò)推廣
  • 宿遷建設(shè)局網(wǎng)站win7系統(tǒng)優(yōu)化
  • 禪城網(wǎng)站建設(shè)多少錢網(wǎng)絡(luò)營銷推廣策劃的步驟是什么
  • 高端營銷網(wǎng)站泰州百度公司代理商