欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringCloudGateway路由失效問題

 更新時間:2024年10月31日 14:27:12   作者:Xiao_zuo_ya  
本文主要分析了SpringCloudGateway整合nacos時路由失效的問題,作者通過斷點跟蹤發(fā)現(xiàn)在RouteToRequestUrlFilter類中報錯,原因是在讀取配置文件的時候,沒有解析到對應(yīng)的host主機,進一步發(fā)現(xiàn)這里包含了一段正則表達(dá)式驗證,驗證配置的服務(wù)名稱是否合法

SpringCloudGateway整合nacos路由失效

報錯如下

java.lang.IllegalStateException: Invalid host: lb://mall_admin_service

負(fù)載均衡配置的沒有問題,對應(yīng)的服務(wù)名稱也沒有問題,斷點跟蹤了一下,在這個RouteToRequestUrlFilter類中報錯,

代碼很簡單

		if ("lb".equalsIgnoreCase(routeUri.getScheme()) && routeUri.getHost() == null) {
			// Load balanced URIs should always have a host. If the host is null it is
			// most
			// likely because the host name was invalid (for example included an
			// underscore)
			throw new IllegalStateException("Invalid host: " + routeUri.toString());
		}

在讀取配置文件的時候,沒有解析到對應(yīng)的host主機

		private static final String SCHEME_REGEX = "[a-zA-Z]([a-zA-Z]|\\d|\\+|\\.|-)*:.*";
		static final Pattern schemePattern = Pattern.compile(SCHEME_REGEX);
		// 部分代碼截取
		if (hasAnotherScheme(routeUri)) {
			// this is a special url, save scheme to special attribute
			// replace routeUri with schemeSpecificPart
			exchange.getAttributes().put(GATEWAY_SCHEME_PREFIX_ATTR,
					routeUri.getScheme());
			routeUri = URI.create(routeUri.getSchemeSpecificPart());
		}

這里包含了一段正則表達(dá)式驗證,驗證配置的服務(wù)名稱是否合法,很明顯我們的是以下劃線配置的,所以驗證失敗,URI.create創(chuàng)建的時候host解析失敗配置為空的。

也能了解了一下SpringCloudGateWay實現(xiàn)原理,所有的過濾器均以GlobalFilter 的子接口實現(xiàn),同樣是一些列的過濾器鏈。

總結(jié)

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

相關(guān)文章

  • IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?全稱?IntelliJ?IDEA,是java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一,今天通過本文給大家介紹idea2021.3.1激活及使用教程,感興趣的朋友一起看看吧
    2022-01-01
  • SpringBoot + validation 接口參數(shù)校驗的思路詳解

    SpringBoot + validation 接口參數(shù)校驗的思路詳解

    這篇文章主要介紹了SpringBoot + validation 接口參數(shù)校驗,本文通過項目實踐+場景分析給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot打印詳細(xì)啟動異常信息

    SpringBoot打印詳細(xì)啟動異常信息

    這篇文章主要介紹了SpringBoot打印詳細(xì)啟動異常信息,本文包含了詳細(xì)的過程解析與案例,概要的說明了如何去使用打印啟動異常信息,需要的朋友可以參考下
    2021-06-06
  • SpringBoot3整合EasyExcel動態(tài)實現(xiàn)表頭重命名

    SpringBoot3整合EasyExcel動態(tài)實現(xiàn)表頭重命名

    這篇文章主要為大家詳細(xì)介紹了SpringBoot3整合EasyExcel如何通過WriteHandler動態(tài)實現(xiàn)表頭重命名,文中的示例代碼講解詳細(xì),有需要的可以了解下
    2025-03-03
  • Java實現(xiàn)四連環(huán)棋游戲

    Java實現(xiàn)四連環(huán)棋游戲

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)四連環(huán)棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Springboot整合https的實例代碼

    Springboot整合https的實例代碼

    本文簡單介紹了一些密碼學(xué)的基礎(chǔ)和如何通過Springboot整合HTTPS,本文將通過實例代碼給大家詳細(xì)介紹整合過程,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • springboot如何引入外部yml配置文件

    springboot如何引入外部yml配置文件

    這篇文章主要介紹了springboot如何引入外部yml配置文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 聊一聊concurrenthashmap的size方法原理

    聊一聊concurrenthashmap的size方法原理

    這篇文章主要介紹了concurrenthashmap的size方法原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 帶你快速上手Servlet

    帶你快速上手Servlet

    這篇文章主要介紹了帶你快速上手Servlet,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • java并發(fā)編程專題(十一)----(JUC原子類)數(shù)組類型詳解

    java并發(fā)編程專題(十一)----(JUC原子類)數(shù)組類型詳解

    這篇文章主要介紹了JAVA JUC原子類 數(shù)組類型詳解的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評論