mkcert(Windows环境)
1.下载地址:https://github.com/FiloSottile/mkcert/releases
2.选择版本
3.以管理员身份运行`命令提示符
1) cd C:/ #进入工具存放的目录下
2) mkcert-v1.4.4-windows-amd64.exe -install #命令进行安装
3) mkcert-v1.4.3-windows-amd64.exe #查询是否安装成功
4) mkcert-v1.4.3-windows-amd64.exe -pkcs12 [本地ip] #为本地ip创建p12证书,生成的证书在当前目录
Spring Boot项目配置证书
1.将p12证书存放在项目resources目录下
2.在pom.xml文件中增加配置
<resource>
<directory>src/main/webapp</directory>
<targetPath>meta-inf/resources</targetPath>
<includes>
<include>**/*.*</include> <!--将resources下所有目录文件都打包target文件夹中 -->
</includes>
<filtering>true</filtering>
</resource>
3.配置application.yml
server:
port: 9002
ssl:
key-store: classpath:172.20.10.4.p12
key-password: changeit # mkcert工具生成时默认密码
key-store-password: changeit # mkcert工具生成时默认密码
key-store-type: PKCS12
4.在启动类中增加如下代码
@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(initiateHttpConnector());
return tomcat;
}
/**
* 让我们的应用支持HTTP是个好想法,但是需要重定向到HTTPS,
* 但是不能同时在application.yml中同时配置两个connector,
* 所以要以编程的方式配置HTTP connector,然后重定向到HTTPS connector
* @return Connector
*/
private Connector initiateHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(80); // http端口
connector.setSecure(false);
connector.setRedirectPort(9002); // application.yml中配置的https端口
return connector;
}
配置至此结束
启动项目访问地址为:https://ip:port/
*带上小锁是不是很有安全感呢~~~~*
感谢阅读!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。