当前位置: 首页 > 知识库问答 >
问题:

在同一个应用程序中启动管理服务器和客户端

易炳
2023-03-14

我正在使用spring boot 2.5.1和Java 11。

我试图在同一个应用程序中创建SpringBoot管理服务器和客户端,但是当我启动它时,控制台中出现以下错误。

裁判:https://github.com/codecentric/spring-boot-admin

错误

未能将应用程序注册为Spring-boot-admin([http://localhost:8085/instances]): 401:[no body]的Application(name=Powwow,Management ementUrl=http://localhost:8085/actuator,Health Url=http://localhost:8085/actuator/health,serviceUrl=http://localhost:8085/)。在DEBUG级别会记录更多尝试

我在Spring Boot应用程序中有以下代码:

波姆。xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.1</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-server</artifactId>
        <version>2.5.1</version>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-client</artifactId>
        <version>2.5.1</version>
    </dependency>

应用属性

server.port=8085
spring.application.name=PowWow
logging.file.name=powwow-logfile.log
logging.logback.rollingpolicy.max-history=3
logging.logback.rollingpolicy.max-file-size=5MB
spring.boot.admin.client.url=http://localhost:8085
management.endpoints.web.exposure.include=*
management.endpoints.health.show-details=always

PowWowApplication.java

@SpringBootApplication
@EnableScheduling
@EnableAdminServer
public class PowWowApplication {

更多信息

我可以访问以下url,但它不会加载应用程序:http://localhost:8085/applications

问题

你知道为什么申请没有注册吗?是不是因为在同一个应用程序中不能有spring boot admin starter服务器spring boot admin starter客户端

更多信息

我意识到application.properties:

web.access.username=user
web.access.password=password

所以我还添加了以下内容以允许客户端访问:

spring.boot.admin.client.username=user
spring.boot.admin.client.password=password

这将删除上述错误,即启动服务器时不再出现401错误,但应用程序控制台报告服务器已关闭:

控制台日志:没有错误

http://localhost:8085/actuator/health{“状态”:“向上”}

然而,细节显示有一个401。

共有1个答案

鲁峰
2023-03-14

我通过添加/执行器/**来解决这个问题:

public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
       
        http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
                .authorizeRequests().antMatchers("/soapWS/**").permitAll().and()
                .authorizeRequests().antMatchers("/actuator/**").permitAll()
                .anyRequest().authenticated().and()
                .httpBasic().and()
                .csrf().disable();
    }
 类似资料:
  • 我想同步2个集合。如果服务器端有什么变化,连接的客户端就会更新。我有一个非常基本的问题。我现在需要复制我的java项目,并在一个项目中编程服务器,在另一个项目中编程客户端吗?但这听起来像是相当多不必要的工作。我不能在一个项目中实现这一切,然后在一个主项目中启动服务器和客户端吗?我需要线程吗?我有点纠结于最好的方法是什么。提前谢谢。

  • 是否可以在同一个JVM中同时启动客户机和服务器节点?

  • 我使用SpringBootAdmin来监视我的springboot应用程序,它非常好。但我需要先启动SpringBoot管理服务器,然后启动包含SpringBoot客户端的应用程序。 有没有办法将Spring Boot服务器包含到我的Spring Boot应用程序中,使它们看起来像一个应用程序,这样我就可以启动我的应用程序,然后服务器启动,客户端注册到服务器。最终目的是我的应用程序在端口8080上

  • 我的问题是如何设置WebSocket++服务器,并在相同的程序或函数中创建连接到此服务器的WebSocket++客户端?(用于测试) 详细信息:我想在我的C++程序中使用库WebSocket++在WebSocket上流数据。我有一个websocket客户端,它将数据发送到外部websocket服务器。 作为一个好的程序员,我试着写一些测试来检查一切都很好。因此,我想设置一个WebSocket++服

  • 我尝试在一个应用程序中运行Eureka服务器和Spring Boot Admin服务器(SBA Docu说这是可能的)。尤里卡正按预期工作,但管理应用程序仍显示零应用程序。 Spring Boot Version 2.0.3,Spring Boot Admin Version 2.0.1 Eureka和SBA服务器 客户端应用程序。yml

  • 问题内容: 当我运行Spring MVC应用程序时,出现此异常,服务器无法启动。 请帮助我解决此问题。 异常StackTrace: 问题答案: 由于互联网连接不良,jar文件可能已损坏。尝试删除文件夹的内容。然后右键单击您的项目,选择“Maven” ,“ 更新项目” ,然后选中“ 强制更新快照/版本” 。如果您确定只有一个Jar文件有问题,则只需删除其文件夹。