使用SpringBoot配置https(SSL證書)
SpringBoot配置https(SSL證書)
最近在做微信小程序,https是必須條件
僅需三步
SpringBoot2.x版本
對(duì)比一下這個(gè)小鎖頭是不是莫名有點(diǎn)好看?
嚶為很久以前就備案有域名,就直接申請(qǐng)了SSL證書,幾分鐘就下來(lái)了
1.把tomcat目錄里面的.jks文件
復(fù)制到項(xiàng)目里面(注意路徑)
2.配置application.yml
ssl: key-store: classpath:server.jks key-store-password: 申請(qǐng)時(shí)設(shè)置的密碼 keyStoreType: JKS
3.接下來(lái)是重定向
在啟動(dòng)類底下添加;(把指定的http8080端口重定向到https8888)
@Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createHTTPConnector()); return tomcat; } private Connector createHTTPConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); //同時(shí)啟用http(8080)、https(8443)兩個(gè)端口 connector.setScheme("http"); connector.setSecure(false); connector.setPort(8080); connector.setRedirectPort(443); return connector; }
ok
SpringBoot 改造成https訪問
SpringBoot https改造
1.生成密鑰證書
生成命令:keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
(1)關(guān)鍵字解釋:
alias
:密鑰別名
storetype
:指定密鑰倉(cāng)庫(kù)類型
keyalg
:生證書的算法名稱,RSA是一種非對(duì)稱加密算法
keysize
:證書大小
keystore
:生成的證書文件的存儲(chǔ)路徑
validity
:證書的有效期
(2)生成證書注意:
在輸入證書生成命令之后,會(huì)提示輸入:
- 密鑰庫(kù)口令:證書密碼,在后面的項(xiàng)目中配置證書時(shí)用到
- 姓氏:一般沒什么用,在瀏覽器中查看證書時(shí)會(huì)顯示,用于正式場(chǎng)合的證書還是需要填寫標(biāo)準(zhǔn)。
- 組織單位:證書使用單位信息,一般沒什么用,在瀏覽器中查看證書時(shí)會(huì)顯示,用于正式場(chǎng)合的證書還是需要填寫標(biāo)準(zhǔn)。
- 組織單位名稱:證書使用單位名稱,一般沒什么用,在瀏覽器中查看證書時(shí)會(huì)顯示,用于正式場(chǎng)合的證書還是需要填寫標(biāo)準(zhǔn)。
- 所在的城市或區(qū)域名稱:瀏覽器中查看證書信息時(shí)會(huì)顯示。
- 所在的省/市/自治區(qū)名稱:瀏覽器中查看證書信息時(shí)會(huì)顯示。
- 單位的雙字母國(guó)家/地區(qū)代碼:國(guó)家或地區(qū)編碼,瀏覽器中查看證書信息時(shí)會(huì)顯示。
2.將生成的密鑰證書拷貝到項(xiàng)目中的resource中
也可以不拷貝到項(xiàng)目中,后面配置路徑時(shí)配置密鑰證書的絕對(duì)路徑即可
3.修改項(xiàng)目配置文件application.properties
增加如下配置項(xiàng):
server.ssl.key-store=classpath:keystore.p12
(密鑰文件路徑,也可以配置絕對(duì)路徑)server.ssl.key-store-password=aqjcpt
(密鑰生成時(shí)輸入的密鑰庫(kù)口令)server.ssl.keyStoreType=PKCS12
(密鑰類型,與密鑰生成命令一致)server.ssl.keyAlias=tomcat
(密鑰別名,與密鑰生成命令一致)
4.啟動(dòng)項(xiàng)目,直接訪問項(xiàng)目即可
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)簡(jiǎn)易Web服務(wù)器
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)易Web服務(wù)器的相關(guān)方法,想要制作Web服務(wù)器的朋友可以參考本文2016-02-02SpringBoot上傳圖片到指定位置并返回URL的實(shí)現(xiàn)
本文主要介紹了SpringBoot上傳圖片到指定位置并返回URL,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下<BR>2022-03-03springboot使用com.github.binarywang包實(shí)現(xiàn)微信網(wǎng)頁(yè)上的支付和退款
最近做項(xiàng)目需要實(shí)現(xiàn)在pc端需要實(shí)現(xiàn)微信的支付,本文主要介紹了springboot使用com.github.binarywang包實(shí)現(xiàn)微信網(wǎng)頁(yè)上的支付和退款,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05Redis實(shí)現(xiàn)延遲隊(duì)列的全流程詳解
Redisson是Redis服務(wù)器上的分布式可伸縮Java數(shù)據(jù)結(jié)構(gòu),這篇文中主要為大家介紹了Redisson實(shí)現(xiàn)的優(yōu)雅的延遲隊(duì)列的方法,需要的可以參考一下2023-03-03SpringBoot如何使用Fastjson解析Json數(shù)據(jù)
這篇文章主要介紹了SpringBoot如何使用Fastjson解析Json數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Mybatis?Plus批處理操作的實(shí)現(xiàn)示例
MyBatis?Plus?提供了強(qiáng)大的批處理支持,可以幫助我們高效地處理大規(guī)模數(shù)據(jù),本文主要介紹了Mybatis?Plus批處理操作的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07java數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)機(jī)器人行走
這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)機(jī)器人行走,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01