其实这个错误追溯到源码中,显然就解决了
如上图所示,filter方法中,通过错误提示发现,如下代码routeUri.getHost()为空了。
if ("lb".equalsIgnoreCase(routeUri.getScheme()) && routeUri.getHost() == null) { throw new IllegalStateException("Invalid host: " + routeUri.toString()); }
routeUri.getHost()这个属性是根据URI进行解析的。所以重点排查URI
然后根据断点发现URI前期进行解析lb://anfang_security_service的时候,发生了异常
这也就说明了。URL不支持下划线的命名方式
最后果断把下划线去掉。最终解决此类问题