Java 添加ssl证书后,spring启动应用程序无法启动
在我按照此站点上的说明添加ssl证书后,应用程序无法启动,出现以下错误:Java 添加ssl证书后,spring启动应用程序无法启动,java,spring,spring-boot,tomcat,Java,Spring,Spring Boot,Tomcat,在我按照此站点上的说明添加ssl证书后,应用程序无法启动,出现以下错误: *************************** APPLICATION FAILED TO START
***************************
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'
@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(空);
}
}
或者,您可以使用是否以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