eureka配置了spring security后,客户端启动报错,请求不到服务器 5C

服务器端:
pom.xml添加的spring security
启动类添加了@EnableEurekaServer注解
yml如下
spring:
security:
user:
name: user
password: psw123
eureka:
client:
service-url:
defaultZone: http://user:psw123@localhost:8761/eureka
register-with-eureka: false
fetch-registry: false
客户端
pom添加spring-boot-starter-actuator依赖
启动类添加了@EnableDiscoveryClient注解
yml如下
eureka:
client:
service-url:
defaultZone: http://user:psw123@localhost:8761/eureka
instance:
prefer-ip-address: true
instance-id: ${spring.application.name}:${spring.application.instance_id:${server.port}}

服务器端启动正常,输入ip后也能通过输入用户名密码登录。但是客户端启动则报错。
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
如果去掉spring security验证的话客户端是能够正常注册到注册中心的。
网上服务器的yml配置(如下),我这里是没有的。我这里只有spring.security,
没有直接就security。
security:
basic:
enable:true
name:
password

2个回答

management.context-path=/manage
management.security.enabled=false
management.port=9980
/////这里开启安全认证以后默认所有组件都需要安全认证,包括客户端和eureka服务的之间的心跳,建议只有管理端口开启安全认证,业务端口不开启
security.basic.enabled=true
security.basic.path=/manage
security.user.name=admin
security.user.password=admin
这样配置,把你的eureka管理端口和业务端口区分开

加上这个

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().ignoringAntMatchers("/eureka/**");
        super.configure(http);

    }
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐