真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么為Web添加HTTPS支持

這篇文章主要講解了“怎么為Web添加HTTPS支持”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么為Web添加HTTPS支持”吧!

成都創(chuàng)新互聯(lián)公司長期為千余家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為河東企業(yè)提供專業(yè)的成都網(wǎng)站建設、網(wǎng)站設計,河東網(wǎng)站改版等技術(shù)服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

什么是https

要說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的安全基礎(chǔ)是SSL,不過這里有一個地方需要小伙伴們注意,就是我們現(xiàn)在市場上使用的都是TLS協(xié)議(Transport Layer Security,它來源于SSL),而不是SSL,只不過由于SSL出現(xiàn)較早并且被各大瀏覽器支持因此成為了HTTPS的代名詞。你可以把HTTPS和SSL的關(guān)系理解成iPhone和富土康的關(guān)系,大概就是這樣哈。

證書生成

使用SSL需要我們先生成一個證書,這個證書我們可以自己生成,也可以從SSL證書授權(quán)中心獲得,自己生成的不被客戶端認可,從授權(quán)中心獲得的可以被客戶端認可,提供SSL授權(quán)證書的服務商有很多,小伙伴們有興趣可以自行查找,我這里以自己生成的證書為例。
生成方式也很簡單,直接使用java自帶的命令keytool來生成,生成命令如下:

keytool -genkey -alias tomcat  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -validity 3650

這里涉及到幾個參數(shù)的含義我簡單說一下:
1.-storetype 指定密鑰倉庫類型
2.-keyalg 生證書的算法名稱,RSA是一種非對稱加密算法
3.-keysize  證書大小
4.-keystore 生成的證書文件的存儲路徑
5.-validity 證書的有效期

OK,執(zhí)行完上面一行命令后,在你的系統(tǒng)的當前用戶目錄下會生成一個keystore.p12文件(如果你修改了證書文件的名稱那就是你修改的名字),將這個文件拷貝到我們項目的根目錄下,然后修改application.properties文件,添加HTTPS支持。在application.properties中添加如下代碼:

server.ssl.key-store=keystore.p12
server.ssl.key-store-password=111111
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias:tomcat

第一行指定簽名文件,第二行指定簽名密碼,第三行指定密鑰倉庫類型,第四個是別名。OK,這樣配置完成之后我們就可以通過HTTPS來訪問我們的Web了,訪問結(jié)果如下:
怎么為Web添加HTTPS支持

當然,這里我在CustomServletContainer類中將默認端口修改為8443了

HTTP自動轉(zhuǎn)向HTTPS

光有HTTPS肯定還不夠,很多用戶可能并不知道,用戶有可能繼續(xù)使用HTTP來訪問你的網(wǎng)站,這個時候我們需要添加HTTP自動轉(zhuǎn)向HTTPS的功能,當用戶使用HTTP來進行訪問的時候自動轉(zhuǎn)為HTTPS的方式。這個配置很簡單,在入口類中添加相應的轉(zhuǎn)向Bean就行了,如下:

   @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

    @Bean
    public Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //Connector監(jiān)聽的http的端口號
        connector.setPort(8080);
        connector.setSecure(false);
        //監(jiān)聽到http的端口號后轉(zhuǎn)向到的https的端口號
        connector.setRedirectPort(8443);
        return connector;
    }

這個時候當我們訪問http://localhost:8080的時候系統(tǒng)會自動重定向到https://localhost:8443這個地址上。這里的Connector實際就是我們剛剛接觸jsp時在xml中配置的Tomcat的Connector節(jié)點。

感謝各位的閱讀,以上就是“怎么為Web添加HTTPS支持”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對怎么為Web添加HTTPS支持這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


當前題目:怎么為Web添加HTTPS支持
網(wǎng)站URL:http://weahome.cn/article/pjedds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部