Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过嵌入Tomcat 7-FileNotFoundException和o.a.coyote.http11.Http11NioProtocol问题在Spring引导中启用SSL_Tomcat_Ssl_Spring Boot_Tomcat7_Pom.xml - Fatal编程技术网

通过嵌入Tomcat 7-FileNotFoundException和o.a.coyote.http11.Http11NioProtocol问题在Spring引导中启用SSL

通过嵌入Tomcat 7-FileNotFoundException和o.a.coyote.http11.Http11NioProtocol问题在Spring引导中启用SSL,tomcat,ssl,spring-boot,tomcat7,pom.xml,Tomcat,Ssl,Spring Boot,Tomcat7,Pom.xml,我正在尝试为我的Spring Boot应用程序启用SSL以进行测试。我使用以下命令行生成了一个密钥库文件: keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 并将以下配置添加到my application.properties文件中: server.port=8443 server.ssl.key-store: keyst

我正在尝试为我的Spring Boot应用程序启用SSL以进行测试。我使用以下命令行生成了一个密钥库文件:

keytool -genkey -alias tomcat
-storetype PKCS12 -keyalg RSA -keysize 2048
-keystore keystore.p12 -validity 3650
并将以下配置添加到my application.properties文件中:

server.port=8443
server.ssl.key-store: keystore.p12
server.ssl.key-store-password: mypassword
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat
当我使用嵌入式Tomcat 8版本运行应用程序时,SSL已成功启用,在构建过程中没有错误

但是,当我通过如下更改pom.xml文件以嵌入式Tomcat 7版本运行它时:

<properties>
    <tomcat.version>7.0.65</tomcat.version>
</properties>

7.0.65
SSL未启用,我遇到以下错误:

java.io.FileNotFoundException: /tmp/tomcat.4863947968145457153.8443/file:/home/yahyaharif/spring workspace/demossl/keystore.p12(没有这样的文件或目录)

org.apache.catalina.LifecycleException:无法启动组件 [连接器[org.apache.coyote.http11.Http11NioProtocol-8443]]

org.springframework.boot.context.embedded.EmbeddedServletContainerExcepti>on:无法启动嵌入式Tomcat servlet容器

我查找了错误,注意到我需要在我的main中添加一个嵌入式servlet容器bean,但没有效果

我还确保密钥库文件的文件路径是正确的


关于为什么在嵌入式Tomcat 8上而不是在嵌入式Tomcat 7上完美地启用SSL的任何线索?

在Tomcat 8中进行了更改,以允许从嵌入式jar文件中加载密钥库。它已经发布,但在7.0.66发布之前将不可用

如果您尝试使用一个SpringBoot版本,该版本预期会有此更改(1.2.7或更高版本),那么如果没有,它将失败。在Tomcat 7.0.66发布之前,我认为您有两个选择:

  • 使用Tomcat8
  • 将Tomcat 7与Spring Boot 1.2.6或更早版本一起使用

为我工作。谢谢你,tomcat 8.0.x没有解决这个问题。就我而言,我必须使用tomcat 8.5.20