项目场景:
问题1、eureka服务启用了安全验证
问题2、使用RestTemplate时报错java.lang.IllegalStateException: No instances available for 127.0.0.1
问题描述:
问题1、security认证导致的Cannot execute request on any known server
问题2、使用RestTemplate时报错java.lang.IllegalStateException: No instances available for 127.0.0.1
原因分析:
问题1、如果服务器端设置安全认证了
客户端在在配置defaultZone的时候需要带上用户名、密码
defaultZone: http://coffee:123456@localhost:9761/admin/eureka/
问题2、
1:用了@LoadBalanced注解就不要使用ip+port的方式访问,取而代之的是应用名
2:这种方式发送的请求都会被ribbon拦截,ribbon从eureka注册中心获取服务列表,然后采用均衡策略进行访问
解决方案:
问题1、如果服务器端设置安全认证了
客户端在在配置defaultZone的时候需要带上用户名、密码
defaultZone: http://coffee:123456@localhost:9761/admin/eureka/