Java 添加ssl证书后,spring启动应用程序无法启动

Java 添加ssl证书后,spring启动应用程序无法启动,java,spring,spring-boot,tomcat,Java,Spring,Spring Boot,Tomcat,在我按照此站点上的说明添加ssl证书后,应用程序无法启动,出现以下错误: *************************** APPLICATION FAILED TO START

在我按照此站点上的说明添加ssl证书后,应用程序无法启动,出现以下错误:

***************************                                                                               
APPLICATION FAILED TO START                                                                               
***************************                                                                               

Description:                                                                                              

The Tomcat connector configured to listen on port 80 failed to start. The port may already be in use or th
e connector may be misconfigured. 

当我改变端口时,我得到了相同的错误
netstat-ntulp
显示该端口上没有正在运行的程序。当我在application.properties中注释与ssl关联的行时,服务器将正常启动。请帮助我

尝试像这样配置您的后端:

  • 添加依赖项:

     implementation 'org.apache.httpcomponents:httpclient:4.5'    
    
  • 提供RESTTemplatebean:

  • @Bean
    私有RestTemplate RestTemplate(){
    SSLContext SSLContext=buildSslContext();
    SSLConnectionSocketFactory socketFactory=新的SSLConnectionSocketFactory(sslContext);
    HttpClient HttpClient=HttpClients.custom()
    .setSSLSocketFactory(socketFactory)
    .build();
    HttpComponents客户端HttpRequestFactory工厂=新的HttpComponents客户端HttpRequestFactory(httpClient);
    返回新的REST模板(工厂);
    }
    私有SSLContext buildSslContext(){
    试一试{
    char[]keyStorePassword=sslProperties.getKeyStorePassword();
    返回新的SSLContextBuilder()
    .loadKeyMaterial(
    KeyStore.getInstance(新文件(sslProperties.getKeyStore()),keyStorePassword),
    密钥密码
    ).build();
    }捕获(例外情况除外){
    抛出新的IllegalStateException(“无法实例化SSL上下文”,ex);
    }最后{
    setKeyStorePassword(null);
    sslProperties.setTrustStorePassword(空);
    }
    }
    
  • 在application.properties或application.yaml文件中提供所需的SSL属性:
  • 就这样。现在您可以看到您的Tomcat是从8080(或另一个端口)(https)开始的


    或者,您可以使用

    是否以root用户身份运行它?您可以尝试使用命令--server.port使用其他端口启动Spring引导=8081@JosephSible我以root用户身份运行它。@Sambit我已经提到我试图在不同端口上启动应用程序。我在同一链接中遇到类似问题,请分享您的发现。
    server:
        ssl:
            enabled: true
            key-store: /path/to/key.keystore
            key-store-password: password
            key-alias: alias
            trust-store: /path/to/truststore
            trust-store-password: password