一尘不染

如何使用Spring Boot和Tomcat指定.keystore文件?

spring

我正在尝试设置Spring Security以与Spring Boot的嵌入式Tomcat实例一起使用。有很多基本示例可以执行此操作,但我被困在它们的后面,他们通过HTTP(不是HTTPS)执行基本身份验证。

如果可以访问Tomcat配置文件(server.xml),我可能可以使它工作,但是由于Spring Boot使用嵌入式Tomcat实例(否则非常方便),因此我无权访问Tomcat配置文件(至少不能访问Tomcat配置文件)。我的知识)。

可能有一个application.properties设置,但我无法对其进行跟踪。我看到过对某个server.contextPath字段的引用application.properties,我怀疑这可能与替换Tomcat配置文件有关。即使是相关的,我也不知道从哪里开始-我看到的所有Tomcat SSL指令都是从编辑现有server.xml文件开始的,而不是从头开始构建。

可以通过Spring Boot来完成(通过某种方式指定snippet server.xml或通过其他方式)吗?如果没有,最简单的方法是什么?我知道我可能需要排除Spring Boot的Tomcat组件,但如果可能的话,我宁愿避免这样做。


阅读 703

收藏
2020-04-19

共1个答案

一尘不染

从Spring Boot 1.2开始,你可以使用application.properties或配置SSL application.yml。这是一个示例application.properties

server.port = 8443
server.ssl.key-store = classpath:keystore.jks
server.ssl.key-store-password = secret
server.ssl.key-password = another-secret

与application.yml:

server:
  port: 8443
  ssl:
    key-store: classpath:keystore.jks
    key-store-password: secret
    key-password: another-secret
2020-04-19