如何处理异常:java.lang.IllegalStateException: 无效的主机:lb:exam_farmer_service?
- 内容介绍
- 文章标签
- 相关推荐
本文共计244个文字,预计阅读时间需要1分钟。
概述:项目配置了服务名和gateway网关,无问题。同时nacos也能发现服务。但访问时状态码500,报错java.lang.IllegalStateException: Invalid host: lb://exam_farmer_service。
概述
在项目了配置了服务名 gateway网关也配置了 完全没有问题 同时nacos这边也能发现服务 但就是
访问的时候状态码500 报错java.lang.IllegalStateException: Invalid host: lb://exam_farmer_service
翻译的一下大概是无效的主机 可是明明服务名对 为什么说是无效的???
原因
我们可以去可以一下源码 找到RouteToRequestUrlFilter中的方法filter可以看到routeUri.getHost()为
空了。
routeUri.getHost()这个属性是根据URI进行解析的。所以重点排查URI
然后根据断点发现URI前期进行解析lb://anfang_security_service的时候,发生了异常
这就说明URL不支持下划线的方式
解决方案
命名服务的时候不要带下划线 把下划线去掉
本文共计244个文字,预计阅读时间需要1分钟。
概述:项目配置了服务名和gateway网关,无问题。同时nacos也能发现服务。但访问时状态码500,报错java.lang.IllegalStateException: Invalid host: lb://exam_farmer_service。
概述
在项目了配置了服务名 gateway网关也配置了 完全没有问题 同时nacos这边也能发现服务 但就是
访问的时候状态码500 报错java.lang.IllegalStateException: Invalid host: lb://exam_farmer_service
翻译的一下大概是无效的主机 可是明明服务名对 为什么说是无效的???
原因
我们可以去可以一下源码 找到RouteToRequestUrlFilter中的方法filter可以看到routeUri.getHost()为
空了。
routeUri.getHost()这个属性是根据URI进行解析的。所以重点排查URI
然后根据断点发现URI前期进行解析lb://anfang_security_service的时候,发生了异常
这就说明URL不支持下划线的方式
解决方案
命名服务的时候不要带下划线 把下划线去掉

