日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Java第56講——如何實現HTTPS服務器

 

到目前為止,我們編寫的Web服務器,都是基于HTTP協議來實現的。

大家知道,HTTP協議是文本協議,而且是明文形式,很容易被嗅探竊聽或攻擊,安全性不太好。

其實,我們使用SpringBoot框架開發的基于HTTP的Web服務器,不需要進行編碼修改,只需要稍稍配置,就可以變成基于HTTPS的Web服務器,極大提高系統的安全性。

我們還是從概念開始講起吧。

1、HTTP協議

HTTP,HyperText Transfer Protocol,超文本傳輸協議。

HTTP協議基于請求與響應在客戶端和服務器端交互,HTTP是一種無狀態的協議;

HTTP協議是因特網上應用最為廣泛的應用層傳輸協議,可以用于傳輸html文件、圖片、文本信息,還可以用于查詢和修改服務器上的數據。

基于HTTP協議的Web系統的協議棧如下圖所示:

Java第56講——如何實現HTTPS服務器

 

2、SSL與TSL協議

SSL,Secure Sockets Layer,安全套接字協議;

TLS,Transport Layer Security,傳輸層安全協議;

TLS與SSL在傳輸層與應用層之間對網絡連接進行加密,為網絡通信提供安全及數據完整性。

3、HTTPS協議

HTTPS,Hyper Text Transfer Protocol over SecureSocket Layer,即HTTP over SSL,基于SSL的HTTP協議。

我們可以把HTTPS看作安全的HTTP協議。

基于HTTPS協議的Web系統的協議棧如下圖所示:

Java第56講——如何實現HTTPS服務器

 

下面我們用實際的例子,實現一個使用HTTPS的Web服務器。

4、建立一個普通的Web服務器

我們使用IDEA,基于SpringBoot建立一個普通的Web服務器模塊secure_web,使用了Lombok與Spring Web依賴,建立后的代碼視圖如下:

Java第56講——如何實現HTTPS服務器

 

5、新建controller包,添加ShowMessageController類

添加該類后,代碼視圖如下:

Java第56講——如何實現HTTPS服務器

 

ShowMessageController類的源代碼如下:

package com.flying.secure_web.controller;
import lombok.Data;
import org.springframework.web.bind.annotation.GetMApping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ShowMessageController{
    @Data
    private static class WebData{
        private int errorCode;
        private String message;
    }
    @GetMapping("/showMessage")
    public WebData showMessage(){
        WebData webData = new WebData();
        webData.setErrorCode(0);
        webData.setMessage("success");
        return webData;
    }
}

6、生成數字證書

JDK提供了一個keytool工具,可以生成數字證書。

我們執行下面的命令,生成一個secure_web.key證書文件,該證書文件有效期為30天,使用RSA算法,密鑰長度為2048,別名為secure_web:

keytool -genkey -alias secure_web -keyalg RSA -keysize 2048 -keystore secure_web.key -validity 30

輸入命令時,設置密碼為888888

下面是命令執行情況:

Java第56講——如何實現HTTPS服務器

 

將生成的secure_web.key文件拷貝到resources目錄中:

Java第56講——如何實現HTTPS服務器

 

7、配置Web服務器的HTTPS相關屬性

修改application.properties文件,添加HTTPS相關的屬性。修改后的application.properties文件內容如下:

server.port=8188
server.ssl.key-store=resources/secure_web.key
server.ssl.key-alias=secure_web
server.ssl.key-store-password=888888

這四個配置項分別是Web服務的監聽端口,數字證書文件名,生成證書時輸入的別名和密碼。

8、運行與測試

對程序編譯,得到secure_web.jar軟件,運行該程序:

Java第56講——如何實現HTTPS服務器

 

在瀏覽器中輸入 https://ip地址:8188/showMessage,瀏覽器會給出告警信息:

Java第56講——如何實現HTTPS服務器

 

點擊“高級”按鈕,然后點擊“繼續前往<IP地址>(不安全)”:

Java第56講——如何實現HTTPS服務器

 

將會得到從服務器返回的信息(JSON格式):

Java第56講——如何實現HTTPS服務器

 

根據瀏覽器的提示信息,我們確實實現了基于HTTPS的安全Web服務器。

分享到:
標簽:HTTPS
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定