什么是https
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、榆樹網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、HTML5、購物商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設公司、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為榆樹等各大城市提供網(wǎng)站開發(fā)制作服務。
要說https我們得先說SSL(Secure Sockets Layer,安全套接層),這是一種為網(wǎng)絡通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議,SSL在網(wǎng)絡傳輸層對網(wǎng)絡連接進行加密。SSL協(xié)議可以分為兩層:SSL記錄協(xié)議(SSL Record Protocol),它建立在可靠的傳輸協(xié)議如TCP之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能支持;SSL握手協(xié)議(SSL Handshake Protocol),它建立在SSL記錄協(xié)議之上,用于在實際數(shù)據(jù)傳輸開始之前,通信雙方進行身份認證、協(xié)商加密算法、交換加密密鑰等。在Web開發(fā)中,我們是通過HTTPS來實現(xiàn)SSL的。HTTPS是以安全為目標的HTTP通道,簡單來說就是HTTP的安全版,即在HTTP下加入SSL層,所以說HTTPS的安全基礎是SSL,不過這里有一個地方需要小伙伴們注意,就是我們現(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訪問,為了自己方便測試,自己搭建一個簡單的https服務器。
首先使用keytool生成證書,該生成的證書會被檢測到有風險,自己使用無所謂啦:)
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服務器的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!