您好,登錄后才能下訂單哦!
什么是https
要說https我們得先說SSL(Secure Sockets Layer,安全套接層),這是一種為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,SSL在網(wǎng)絡(luò)傳輸層對網(wǎng)絡(luò)連接進(jìn)行加密。SSL協(xié)議可以分為兩層:SSL記錄協(xié)議(SSL Record Protocol),它建立在可靠的傳輸協(xié)議如TCP之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能支持;SSL握手協(xié)議(SSL Handshake Protocol),它建立在SSL記錄協(xié)議之上,用于在實(shí)際數(shù)據(jù)傳輸開始之前,通信雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。在Web開發(fā)中,我們是通過HTTPS來實(shí)現(xiàn)SSL的。HTTPS是以安全為目標(biāo)的HTTP通道,簡單來說就是HTTP的安全版,即在HTTP下加入SSL層,所以說HTTPS的安全基礎(chǔ)是SSL,不過這里有一個(gè)地方需要小伙伴們注意,就是我們現(xiàn)在市場上使用的都是TLS協(xié)議(Transport Layer Security,它來源于SSL),而不是SSL,只不過由于SSL出現(xiàn)較早并且被各大瀏覽器支持因此成為了HTTPS的代名詞,。你可以把HTTPS和SSL的關(guān)系理解成iPhone和富土康的關(guān)系,大概就是這樣哈。
在安卓開發(fā)中發(fā)現(xiàn)很多App都是https訪問,為了自己方便測試,自己搭建一個(gè)簡單的https服務(wù)器。
首先使用keytool生成證書,該生成的證書會被檢測到有風(fēng)險(xiǎn),自己使用無所謂啦:)
keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
1.-storetype 指定密鑰倉庫類型
2.-keyalg 生證書的算法名稱,RSA是一種非對稱加密算法
3.-keysize 證書大小
4.-keystore 生成的證書文件的存儲路徑
5.-validity 證書的有效期
然后根據(jù)提示填寫信息就可以了
再在springboot的配置文件中添加https的配置
server.port=8443 server.ssl.key-store=classpath:keystore.p12 server.ssl.key-store-password=123456 server.ssl.keyStoreType=PKCS12 server.ssl.keyAlias=tomcat
簡單配置以上就可以了
可以將http重定向到https,做如下配置就OK啦這里寫代碼片
@Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() { @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; } private Connector initiateHttpConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setPort(8080); connector.setSecure(false); connector.setRedirectPort(8443); return connector; }
在安卓端訪問也可以用下面方法
// 生成jks證書 keytool -genkey -alias tomcat -keyalg RSA -keystore dahai_server.jks -validity 3600 -storepass 123456
生成簽名文件
keytool -export -alias tomcat -file dahai_server.cer -keystore dahai_server.jks -storepass 123456
總結(jié)
以上所述是小編給大家介紹的springboot添加https服務(wù)器的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。