文章目錄
使用JDK自帶的工具生成證書(shū)
使用FreeSSL提供的證書(shū)
使用JDK自帶的工具生成證書(shū)
1.確保安裝了JDK并正確配置了環(huán)境變量;
2.進(jìn)入你的JAVA_HOME目錄中的bin目錄;
3.在這個(gè)目錄下執(zhí)行
//keytool-genkey-alias(別名)-dname"CN=(姓名),OU=(組織單位名稱(chēng)),O=(組織名稱(chēng)),L=(城市名稱(chēng)),ST=(省),C=(國(guó)家)"-storetype(密鑰倉(cāng)庫(kù)類(lèi)型)-keyalg(生證書(shū)的算法名稱(chēng))-keysize(密鑰長(zhǎng)度,證書(shū)大小)-keystore(指定生成證書(shū)的位置和證書(shū)名稱(chēng))-validity(證書(shū)有效期,天單位) keytool-genkey-aliasuublog-dname"CN=Lhc,OU=SCYD,O=SCYD,L=CD,ST=SiChuan,C=CN"-storetypePKCS12-keyalgRSA-keysize2048-keystorekeystore.p12-validity365
4.獲取名為keystore.p12的證書(shū),將其放入resources目錄中,并在application.properties或application.yml中配置
#https端口號(hào). server.port:443 #證書(shū)的路徑. server.ssl.key-store:classpath:keystore.p12 #證書(shū)密碼,請(qǐng)修改為您自己證書(shū)的密碼. server.ssl.key-store-password:123456 #秘鑰庫(kù)類(lèi)型 server.ssl.keyStoreType:PKCS12 #證書(shū)別名 #server.ssl.keyAlias:uublog
若指定的端口非443,則在訪問(wèn)的時(shí)添加具體的端口號(hào)
5.將http重定向到https
packagecom.lhc.uublog.utils; importorg.apache.catalina.Context; importorg.apache.catalina.connector.Connector; importorg.apache.tomcat.util.descriptor.web.SecurityCollection; importorg.apache.tomcat.util.descriptor.web.SecurityConstraint; importorg.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; importorg.springframework.context.annotation.Bean; importorg.springframework.context.annotation.Configuration; /** *@ProjectName:uublog *@Package:com.lhc.uublog.utils *@ClassName:SSLUtils *@Author:lhc *@Description:Http重定向到Https */ @Configuration publicclassSSLUtils{ @Bean publicConnectorconnector(){ Connectorconnector=newConnector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setSecure(false); connector.setPort(80); connector.setRedirectPort(443); returnconnector; } @Bean publicTomcatServletWebServerFactorytomcatServletWebServerFactory(Connectorconnector){ TomcatServletWebServerFactorywebServerFactory=newTomcatServletWebServerFactory(){ @Override protectedvoidpostProcessContext(Contextcontext){ SecurityConstraintsecurityConstraint=newSecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollectionsecurityCollection=newSecurityCollection(); securityCollection.addPattern("/*"); securityConstraint.addCollection(securityCollection); context.addConstraint(securityConstraint); } }; webServerFactory.addAdditionalTomcatConnectors(connector); returnwebServerFactory; } }
6.部署
若部署環(huán)境為windows,直接啟動(dòng)即可;若部署環(huán)境是Linux,先開(kāi)通443端口,在進(jìn)行部署
#判斷443端口是否已經(jīng)開(kāi)放 firewall-cmd--query-port=443/tcp #若未開(kāi)放,則配置開(kāi)啟,并重新加載配置 firewall-cmd--add-port=443/tcp--permanent firewall-cmd--reload
7.以JDK生成證書(shū)的方式足夠簡(jiǎn)單,但在Chrome和Edge瀏覽器上依舊顯示不安全,因此下面就使用FreeSSL提供的免費(fèi)證書(shū)
圖片
圖片
使用FreeSSL提供的證書(shū)
FreeSSL.cn 是一個(gè)免費(fèi)提供 HTTPS 證書(shū)申請(qǐng)、HTTPS 證書(shū)管理和 HTTPS 證書(shū)到期提醒服務(wù)的網(wǎng)站,旨在推進(jìn) HTTPS 證書(shū)的普及與應(yīng)用,簡(jiǎn)化證書(shū)申請(qǐng)的流程。
1.首先你得有一個(gè)域名,推薦國(guó)外的GoDaddy,價(jià)格合適且不需要備案就可以進(jìn)行解析;
圖片
圖片
2.FreeSSL網(wǎng)站上有對(duì)不同品牌的介紹了和證書(shū)生成方式的介紹,請(qǐng)參閱網(wǎng)站;
3.一頓操作之后,相信你已經(jīng)下載證書(shū)到本地了,將證書(shū)放入resources目錄中,并在配置文件中添加配置
#https端口號(hào). server.port:443 #證書(shū)的路徑. server.ssl.key-store:classpath:***.jks #證書(shū)密碼,請(qǐng)修改為您自己證書(shū)的密碼. server.ssl.key-store-password:*** #秘鑰庫(kù)類(lèi)型 server.ssl.keyStoreType:JKS
4.將http重定向到https,代碼同上
5.打包并部署
圖片
圖片
通過(guò)查看日志,http請(qǐng)求成功重定向到到了https,在Chrome瀏覽器中也標(biāo)示為安全網(wǎng)站
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3573瀏覽量
89349 -
端口
+關(guān)注
關(guān)注
4文章
990瀏覽量
32229 -
JDK
+關(guān)注
關(guān)注
0文章
82瀏覽量
16637
原文標(biāo)題:SpringBoot 配置 HTTPS 安全證書(shū)的兩種方案
文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
生成可執(zhí)行文件后,如何取消labview自帶的工具欄?
HarmonyOS應(yīng)用開(kāi)發(fā)-生成簽名證書(shū)指紋
看看基于JDK中自帶JVM工具的用法
java jdk6.0官方下載
![java <b class='flag-5'>jdk</b>6.0官方下載](https://file.elecfans.com/web2/M00/49/68/pYYBAGKhtEyAa30yAAAPLnCbRWE781.jpg)
狀態(tài)機(jī)代碼生成工具
LabVIEW 網(wǎng)絡(luò)講壇第四季:LabVIEW自帶工具自動(dòng)生成和修改VI的演示
![LabVIEW 網(wǎng)絡(luò)講壇第四季:LabVIEW<b class='flag-5'>自帶工具</b>自動(dòng)<b class='flag-5'>生成</b>和修改VI的演示](https://file.elecfans.com/web1/M00/53/24/pIYBAFseDJyAWbeMAAAi0sU3sjk778.jpg)
Java開(kāi)發(fā)工具包JDK1.8D安裝說(shuō)明書(shū)
![Java開(kāi)發(fā)<b class='flag-5'>工具</b>包<b class='flag-5'>JDK</b>1.8D安裝說(shuō)明書(shū)](https://file.elecfans.com/web1/M00/C1/55/pIYBAF8P9ImAabPKAAD6KeoeGCo634.png)
評(píng)論