我也有同样的问题,并且能够解决。我的问题是生成keystore.p12文件。
如果您有证书文件和私钥文件,则可以keystore.p12使用以下命令生成文件。
openssl pkcs12 -export -in <mycert.crt> -inkey <mykey.key> -out keystore.p12 -name <alias>
系统将提示您输入密码,您可以输入所需的密码。密钥库文件生成后,将其复制到文件所在的目录.jar。
以下是一个有效的示例配置。
server.port=8443security.require-ssl=trueserver.ssl.key-store-type=PKCS12server.ssl.key-store=file:keystore.p12server.ssl.key-store-password=<password>server.ssl.key-alias=<alias>
file:keystore.p12如果密钥存储文件路径与可执行.jar文件位于同一目录,请注意该路径。
解决方法我遵循了在Spring Boot中启用https的指南。该应用程序之前在https://localhost:8080上工作
我创建了一个keystore.jks与我的目录相同的目录application.properties,现在看起来像:
# Define a custom port instead of the default 8080server.port = 8444# Tell Spring Security (if used) to require requests over HTTPSsecurity.require-ssl=true# The format used for the keystoreserver.ssl.key-store-type:PKCS12# The path to the keystore containing the certificateserver.ssl.key-store=keystore.p12# The password used to generate the certificateserver.ssl.key-store-password=<somepassword># The alias mapped to the certificateserver.ssl.key-alias=tomcat
现在,如果我运行main方法来启动spring boot应用程序,它将抛出:
Description:The Tomcat connector configured to listen on port 8444 failed to start. The port may already be in use or the connector may be misconfigured.Action:Verify the connector’s configuration,identify and stop any process that’s listening on port 8444,or configure this application to listen on another port.
该端口未使用,因此必须配置错误?
我不确定该更改什么。这是一个简单的SPA应用程序,Spring仅提供index.html并具有单个REST端点。在这种情况下,应如何将tomcat /spring配置为接受https,并且启动时不会出现错误?