网易首页 > 网易号 > 正文 申请入驻

SpringBoot两种方式配置 SSL证书,实现HTTPS安全访问,懂了么?

0
分享至

文章目录

  • 使用JDK自带的工具生成证书

  • 使用FreeSSL提供的证书

使用JDK自带的工具生成证书

  1. 确保安装了JDK并正确配置了环境变量;



  2. 进入你的JAVA_HOME目录中的bin目录;



  3. 在这个目录下执行


// keytool -genkey -alias (别名) -dname "CN=(姓名),OU=(组织单位名称),O=(组织名称),L=(城市名称),ST=(省),C=(国家)" -storetype (密钥仓库类型) -keyalg (生证书的算法名称) -keysize (密钥长度,证书大小) -keystore (指定生成证书的位置和证书名称) -validity (证书有效期,天单位)
keytool -genkey -alias uublog -dname "CN=Lhc,OU=SCYD,O=SCYD,L=CD,ST=SiChuan,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365
  1. 获取名为keystore.p12的证书,将其放入resources目录中,并在application.propertiesapplication.yml中配置

#https端口号.
server.port: 443
#证书的路径.
server.ssl.key-store: classpath:keystore.p12
#证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password: 123456
#秘钥库类型
server.ssl.keyStoreType: PKCS12
#证书别名
#server.ssl.keyAlias: uublog

若指定的端口非443,则在访问的时添加具体的端口号。springboot系列技术文章分享:https://www.yoodb.com/spring/springboot/knowledge-hierarchy.html

  1. 将http重定向到https

package com.lhc.uublog.utils;

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
* @ProjectName: uublog
* @Package: com.lhc.uublog.utils
* @ClassName: SSLUtils
* @Author: lhc 关注公众 号:Java精选
* @Description: Http重定向到Https
*/
@Configuration
public class SSLUtils {

@Bean
public Connector connector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setSecure(false);
connector.setPort(80);
connector.setRedirectPort(443);
return connector;
}

@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector) {
TomcatServletWebServerFactory webServerFactory = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection securityCollection = new SecurityCollection();
securityCollection.addPattern("/*");
securityConstraint.addCollection(securityCollection);
context.addConstraint(securityConstraint);
}
};
webServerFactory.addAdditionalTomcatConnectors(connector);
return webServerFactory;
}
}

  1. 部署

若部署环境为windows,直接启动即可;若部署环境是Linux,先开通443端口,在进行部署

# 判断443端口是否已经开放
firewall-cmd --query-port=443/tcp
# 若未开放,则配置开启,并重新加载配置
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --reload

  1. 以JDK生成证书的方式足够简单,但在Chrome和Edge浏览器上依旧显示不安全,因此下面就使用FreeSSL提供的免费证书

使用FreeSSL提供的证书

FreeSSL.cn 是一个免费提供 HTTPS 证书申请、HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证书申请的流程。

1.首先你得有一个域名,推荐国外的GoDaddy,价格合适且不需要备案就可以进行解析;

2.FreeSSL网站上有对不同品牌的介绍了和证书生成方式的介绍,请参阅网站;

3.一顿操作之后,相信你已经下载证书到本地了,将证书放入resources目录中,并在配置文件中添加配置

#https端口号.
server.port: 443
#证书的路径.
server.ssl.key-store: classpath:***.jks
#证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password: ***
#秘钥库类型
server.ssl.keyStoreType: JKS

4.将http重定向到https,代码同上

5.打包并部署

通过查看日志,http请求成功重定向到到了https,在Chrome浏览器中也标示为安全网站

Spring Boot版本为2.0.4.RELEASE

作者:小海子l https://blog.csdn.net/lhc_makefunny

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!

(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!

------ 特别推荐 ------

特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注

文章有帮助的话,点在看,转发吧!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
公安部提醒:使用小众通联软件,当心被深度洗脑

公安部提醒:使用小众通联软件,当心被深度洗脑

新京报
2026-06-12 11:13:11
媒体人:莫雷洛离队时闹得很不愉快,很可能要将泰山告到FIFA

媒体人:莫雷洛离队时闹得很不愉快,很可能要将泰山告到FIFA

懂球帝
2026-06-12 17:30:07
特朗普妥协,美、伊核协议基本达成

特朗普妥协,美、伊核协议基本达成

近距离
2026-06-12 15:25:26
2909亿身家有何用?97岁的李嘉诚无力回天,两个60岁儿子已成心病

2909亿身家有何用?97岁的李嘉诚无力回天,两个60岁儿子已成心病

阿尢说历史
2026-04-17 04:13:15
高考记忆:为何说邓小平删掉的这四个字价值万亿?

高考记忆:为何说邓小平删掉的这四个字价值万亿?

草根情感故事茶社
2026-06-10 16:51:28
翁帆近况被曝不到1天,担心的事发生了,原来她和辛柏青处境一样

翁帆近况被曝不到1天,担心的事发生了,原来她和辛柏青处境一样

李健政观察
2026-06-12 15:22:26
把厚脸皮当成了本事?闪闪生父被曝不到1月,黄一鸣终于不藏了

把厚脸皮当成了本事?闪闪生父被曝不到1月,黄一鸣终于不藏了

笑饮孤鸿非
2026-06-12 02:46:10
A股:全体股民做好心理准备了,下周一6.15,A股或将再次历史重演!

A股:全体股民做好心理准备了,下周一6.15,A股或将再次历史重演!

趋势清风侠
2026-06-12 18:36:02
巴克利直播评女星胸部引争议 公开喊话ESPN:快解雇我,赔我七年工资

巴克利直播评女星胸部引争议 公开喊话ESPN:快解雇我,赔我七年工资

林间小温柔
2026-06-11 01:44:17
吴妈挥泪“斩”无招

吴妈挥泪“斩”无招

银杏科技
2026-06-11 16:09:22
“衩都开到大腿根了,不怕丢人吗?”高三家长旗袍送考,反被群嘲

“衩都开到大腿根了,不怕丢人吗?”高三家长旗袍送考,反被群嘲

怪味历史连连看
2026-06-10 17:37:26
美伊又打起来了,“非常猛烈”

美伊又打起来了,“非常猛烈”

中国新闻周刊
2026-06-11 22:11:54
世界杯开赛第1天,日本队长退赛!阿根廷后卫正与女友度假被补招

世界杯开赛第1天,日本队长退赛!阿根廷后卫正与女友度假被补招

球场没跑道
2026-06-12 09:35:26
小S跟绝美大女儿Elly首度节目合体! Elly崩溃爆料小S私下「超欠揍」

小S跟绝美大女儿Elly首度节目合体! Elly崩溃爆料小S私下「超欠揍」

ETtoday星光云
2026-06-12 17:58:35
钓鱼岛爆发激烈对峙,日舰艇嚣张挑衅查船,中国海警当即警告回击

钓鱼岛爆发激烈对峙,日舰艇嚣张挑衅查船,中国海警当即警告回击

共工之锚
2026-06-10 14:39:09
突然想到的一个地狱笑话

突然想到的一个地狱笑话

陈意小可爱
2026-06-12 18:48:31
世界杯揭幕战:3张红牌!墨西哥2-0南非 打破76年魔咒 8万人嗨翻

世界杯揭幕战:3张红牌!墨西哥2-0南非 打破76年魔咒 8万人嗨翻

侃球熊弟
2026-06-12 03:56:11
患者因腹泻等症状入院6小时后死亡?官方通报

患者因腹泻等症状入院6小时后死亡?官方通报

极目新闻
2026-06-12 20:21:19
“碍于总统身份,我一直在克制,但他们太过分了”

“碍于总统身份,我一直在克制,但他们太过分了”

环球时报国际
2026-06-11 14:32:34
网曝张百乔小雪出售沈阳别墅!透露两人早已分开,将近一年零互动

网曝张百乔小雪出售沈阳别墅!透露两人早已分开,将近一年零互动

孤城落日
2026-06-12 16:42:49
2026-06-12 23:40:49
Java精选
Java精选
一场永远也演不完的戏
1794文章数 3859关注度
往期回顾 全部

科技要闻

刚刚,人类历史上首位万亿美元富豪诞生!

头条要闻

美加墨世界杯第二场比赛就现空座 英媒:尴尬

头条要闻

美加墨世界杯第二场比赛就现空座 英媒:尴尬

体育要闻

欧洲恐韩?肉德维德?

娱乐要闻

一天4个瓜,肖战热巴最意外

财经要闻

万亿美元顺差背后,透露这些信号

汽车要闻

标配激光雷达/双动力可选 昊铂S600限时售17.99万起

态度原创

教育
手机
家居
健康
公开课

教育要闻

最近澳洲留学签证大放水啊!

手机要闻

曝新机屏幕局部峰值亮度10000nit,或为荣耀旗下产品

家居要闻

空间微调 移形换境

老人、小孩、孕妇,吃粽子有啥风险

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版