MALOUDA-PSA 2024-07-15 07:15 采纳率: 96.7%
浏览 0
已结题

sprintboot的https问题2

报错:

org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.23.jar!/:5.3.23]
        at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.23.jar!/:5.3.23]
        at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.23.jar!/:5.3.23]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_312]
        at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.23.jar!/:5.3.23]
        at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.23.jar!/:5.3.23]
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.23.jar!/:5.3.23]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.23.jar!/:5.3.23]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar!/:2.6.13]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar!/:2.6.13]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar!/:2.6.13]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar!/:2.6.13]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar!/:2.6.13]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar!/:2.6.13]
        at com.example.api.ApiApplication.main(ApiApplication.java:11) [classes!/:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_312]
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [api-0.0.1-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) [api-0.0.1-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [api-0.0.1-SNAPSHOT.jar:na]
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88) [api-0.0.1-SNAPSHOT.jar:na]
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:229) ~[spring-boot-2.6.13.jar!/:2.6.13]
        at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.6.13.jar!/:2.6.13]
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.23.jar!/:5.3.23]
        ... 22 common frames omitted
Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed
        at org.apache.catalina.core.StandardService.addConnector(StandardService.java:238) ~[tomcat-embed-core-9.0.68.jar!/:na]
Caused by: java.lang.IllegalArgumentException: Alias name [tomcat] does not identify a key entry
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:107) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:235) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1313) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:617) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1074) ~[tomcat-embed-core-9.0.68.jar!/:na]
        ... 28 common frames omitted
Caused by: java.io.IOException: Alias name [tomcat] does not identify a key entry
        at org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:337) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:247) ~[tomcat-embed-core-9.0.68.jar!/:na]
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:105) ~[tomcat-embed-core-9.0.68.jar!/:na]
        ... 34 common frames omitted

yml:

server:
  servlet:
    context-path: /api
  port: 8022
  ssl:
    key-store: classpath:wcs.jks
    key-store-password: h8888888
    key-alias: tomcat

生成wcs.jks:

keytool -importkeystore -srckeystore wcs.pfx -destkeystore wcs.jks -srcstoretype pkcs12 -deststoretype jks

这里 key-alias: tomcat 有问题吗

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-07-15 07:15
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据您提供的错误日志和配置信息,问题似乎出在SSL配置上。错误信息 IllegalArgumentException: Alias name [tomcat] does not identify a key entry 指出在尝试启动嵌入式Tomcat服务器时,提供的密钥别名 tomcat 在密钥库中没有找到对应的条目。

    以下是一些可能的解决步骤:

    1. 验证密钥库中的别名: 使用 keytool 命令列出 wcs.jks 中的所有别名,确保 tomcat 存在于列表中。如果不存在,您需要检查是否在生成 wcs.jks 时使用了正确的别名。

    2. 检查 application.yml 中的配置: 确保 key-alias 配置正确,并且与 wcs.jks 中的别名相匹配。如果别名不一致,需要在 application.yml 中进行相应的修改。

    3. 检查密钥库密码: 确保 application.yml 中的 key-store-passwordwcs.jks 的实际密码相匹配。如果密码不正确,您需要更新密码。

    4. 重新导入 wcs.pfx: 如果 wcs.pfx 没有正确导入到 wcs.jks,您需要重新执行导入操作,并确保使用正确的源密钥库密码和目标密钥库密码。

    5. 检查Spring Boot和Tomcat版本兼容性: 确保您使用的Spring Boot版本与Tomcat版本兼容。如果存在版本不兼容的情况,可能需要升级或降级相关依赖。

    6. 查看Spring Boot和Tomcat文档: 如果问题依旧存在,查看Spring Boot和Tomcat的官方文档,了解如何正确配置HTTPS和SSL。

    7. 社区支持: 如果上述步骤都无法解决问题,您可以在Spring Boot社区或Stack Overflow等平台上寻求帮助。

    请注意,您提供的 keytool 命令用于导入 wcs.pfxwcs.jks 时,没有指定 srcstorepass(源密钥库密码)。确保您在执行此命令时提供正确的源密钥库密码。

    最后,确保您的Spring Boot应用的依赖项是最新的,并且已经正确配置了HTTPS所需的所有依赖项。如果您需要进一步的帮助,请提供更多的信息或错误日志。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月23日
  • 已采纳回答 7月15日
  • 创建了问题 7月15日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?