当前位置: 首页 > 知识库问答 >
问题:

使用嵌入式Tomcat 7在Spring Boot中启用SSL-FileNotFoundExc0019和o.a.coyote.http11。HTTP协议问题

羊舌兴文
2023-03-14

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

keytool -genkey -alias tomcat
-storetype PKCS12 -keyalg RSA -keysize 2048
-keystore keystore.p12 -validity 3650

并将以下配置添加到我的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已成功启用,在构建过程中没有错误。

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

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

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

java.io.FileNotFound异常: /tmp/tomcat.4863947968145457153.8443 /file:/home/yahyaharif/sping-workspace/demossl/keistore. p12(没有这样的文件或目录)

org.apache.catalina.生命周期异常:启动组件失败[连接器[org.apache.coyote.http11.[HTTP11NioAgage-8443]]

组织。springframework。靴子上下文嵌入的EmbeddedServletContainerExcepti

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

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

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

共有1个答案

东方谦
2023-03-14

Tomcat 8中进行了更改,允许从嵌入式jar文件中加载密钥存储库。它已经被反向移植到Tomcat 7,但是直到7.0.66发布才可用

如果您尝试使用预期会有此更改的Spring Boot版本(1.2.7或更高版本),如果没有,则会失败。我认为在Tomcat 7.0.66发布之前,你有两个选择:

  • 使用Tomcat 8
  • 在Spring Boot 1.2.6或更早版本中使用Tomcat 7
 类似资料:
  • 我的应用程序使用WebViewClient与服务器建立SSL连接。服务器配置为仅接受TLSV1.1及以上协议。 我的应用程序还使用HttpClient和HttpsUrlConnection类来设置SSL连接。在使用这些类时,我能够使用SSLSocket API来启用特定的协议。http://developer.android.com/reference/javax/net/ssl/sslsocke

  • HTTP协议是版本控制工具普遍采用的协议,具有安全(HTTPS),方便(跨越防火墙)等优点。Git在 1.6.6版本之前对HTTP协议支持有限,是哑协议,访问效率低,但是在1.6.6之后,通过一个CGI实现了智能的HTTP协议支持。 5.1.1. 哑传输协议 所谓的哑传输协议(dumb protocol)就是在Git服务器和Git客户端的会话过程中只使用了相关协议提供的基本传输功能,而未针对Git

  • Http 协议基本使用 在 SOFARPC (非SOFABoot 环境)中,当使用Http作为服务端协议的时候,支持Json作为序列化方式,作为一些基础的测试方式使用。 SOFARPC API 使用 发布服务 // 只有1个线程 执行 ServerConfig serverConfig = new ServerConfig() .setStopTimeout(60000) .setPort(12

  • 我用的是Springboot和junit,我想用Powermock来模拟静态类,添加了Powermock后,单元测试通过IntelliJ IDEA运行得很好,但是当我在terminal下运行时,它会抛出ApplicationContextException:无法启动web服务器\n无法启动嵌入式Tomcat 我的基本测试类: 测试类: 似乎无法启动springboot嵌入的tomcat,但要使用P

  • 我有时会在pom中看到以下声明。xml。。。 如您所见,sping-boo-starter-web被声明为tomcat-embed-jasper。 是不是sping-boo-starter-web已经有一个嵌入式tomcat了?为什么一些开发人员仍然声明tomcat-embed-jasper以及boot-starter-web?还是有什么原因?

  • 我正在向我使用httplib2拥有的REST服务发出HTTPS GET请求,但我们得到了错误: 所有其他客户端都运行良好(浏览器、Java客户端等...),只有一个小例外,PHP curl需要设置为使用SSL v3。 我已经搜索了周围,它似乎确实是一个关于SSL版本的错误,但我似乎找不到一种方法来改变它在http://www. ttplib2.除了改变源代码中的以下行之外,还有什么方法可以解决这个