
Springboot实现https
页面访问
发布日期:2021-05-08 14:49:37
浏览次数:24
分类:精选文章
本文共 1807 字,大约阅读时间需要 6 分钟。
参考:
一.使用jdk中keytool的证书管理工具,可以用它来实现签名的证书
1.windows下进入jdk目录,地址栏输入cmd 并回车进入cmd界面。

windows生成证书
例:生成一个别名叫tomcat 的证书 先使用命令进入jdk的bin 这里的密码是123456
keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456

2.Linux下
查看jdk位置
which javals -lrt /usr/bin/javals -lrt /etc/alternatives/javacd /usr/lib/jvm/java-1.8.0-openjdk/bin
Linux生成证书
keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456
二.配置Springboot项目
application.yml中配置:
server: port: 9006 ssl: key-store: tomcat.keystore key-password: 123456 key-store-type: JKS key-alias: tomcat
在启动类中添加:
@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(9006); // application.yml中配置的https端口 return connector; }
3.启动项目


发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年03月24日 02时31分44秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux应用-线程操作
2021-05-09
多态体验,和探索爷爷类指针的多态性
2021-05-09
系统编程-进程间通信-无名管道
2021-05-09
记2020年初对SimpleGUI源码的阅读成果
2021-05-09
C语言实现面向对象方法学的GLib、GObject-初体验
2021-05-09
系统编程-进程-ps命令、进程调度、优先级翻转、进程状态
2021-05-09
为什么我觉得需要熟悉vim使用,难道仅仅是为了耍酷?
2021-05-09
一个支持高网络吞吐量、基于机器性能评分的TCP负载均衡器gobalan
2021-05-09
HDOJ2017_字符串统计
2021-05-09
高等软工第二次作业《需求分析阶段总结》
2021-05-09
404 Note Found 团队会议纪要
2021-05-09
CentOS安装Docker-ce并配置国内镜像
2021-05-09
使用JWT作为Spring Security OAuth2的token存储
2021-05-09
使用Redis作为Spring Security OAuth2的token存储
2021-05-09
【SOLVED】Linux使用sudo到出现输入密码提示延迟时间长
2021-05-09
项目引入非配置的文件,打成war包后测试报错的可能原因
2021-05-09
Git学习笔记
2021-05-09
SpringBoot笔记
2021-05-09