https会使我们的网站更加安全,起码看起来似乎好一些。这里分享Spring Boot配置https的步骤。
1,去阿里云或者腾讯云等等申请SSL证书
个人用户申请免费证书即可。阿里云免费证书申请方法
然后在我们的控制台-SSL证书里面可以添加免费证书:

然后点证书申请:

根据其中指示填写完信息后,会让你给域名添加相应TXT记录,添加后即可申请。大约1-15分钟后证书申请完毕。
然后在列表中点击下载按钮:

下载jks格式:

然后会得到个压缩包,里面有jks证书和密码。
2,Spring Boot配置证书
在Spring Boot配置文件application.properties中添加以下的配置:
#SSL证书设置
server.ssl.key-store=证书jks文件所在位置
server.ssl.key-store-password=证书密码
server.ssl.keyStoreType=JKS
根据自己的配置修改。
建议一般证书文件放在项目文件夹\src\main\resources下。例如我的证书文件是ssl.jks放在项目文件夹\src\main\resources中,密码是123456,那么我的配置如下:
#SSL证书设置
server.ssl.key-store=classpath:ssl.jks
server.ssl.key-store-password=123456
server.ssl.keyStoreType=JKS
路径需要说明的是,一般classpath:开头的表示jar包内路径,而在Spring Boot项目中项目文件夹\src\main\resources文件夹即可对应为classpath的根目录。
当然也可以放在jar包外其余位置,例如放在项目文件夹中的ssl文件夹中,那么路径就以file:开头配置:
server.ssl.key-store=file:ssl/ssl.jks
这样就要最后保证生成的jar要和上述ssl文件夹放在同一目录,并保证运行目录就是jar所在目录。
这样在开启项目,就是https了!
3,配置http自动跳转https
在启动类中加入如下代码:
/**
* http自动跳转https
*/
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(redirectConnector());
return tomcat;
}
private Connector redirectConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(8801); // 原http端口
connector.setSecure(false);
connector.setRedirectPort(8443); // 跳转的https端口,也就是我们配置文件中配置的项目端口
return connector;
}
注意这个Context类是org.apache.catalina包下的。
根据自己的需要修改上述第二个方法中http端口和https端口。
本文介绍了如何在Spring Boot应用中配置SSL证书,实现HTTPS安全连接,并配置HTTP自动跳转到HTTPS。首先,从阿里云或腾讯云等平台申请免费SSL证书,下载jks格式文件并配置到`application.properties`。接着,详细说明了证书配置的步骤,包括证书文件的位置和密码设置。最后,通过在启动类中添加代码,实现了HTTP到HTTPS的自动跳转,确保网站始终使用安全连接。
&spm=1001.2101.3001.5002&articleId=117157365&d=1&t=3&u=f8ce044041ae4cebbf89124218c770a2)
2437

被折叠的 条评论
为什么被折叠?



