SpringBoot添加SSL證書的方法

 一、先進行域名的購買

域名購買完畢,進行DNS的解析,我用的是阿裡雲的,服務器與域名都同時使用的阿裡雲

在這裡插入圖片描述

記錄值這裡填你的服務器的IP 地址

二、申請SSL證書

阿裡雲提供免費的SSL證書,一個人可以申請20個

在這裡插入圖片描述

找到這裡

在這裡插入圖片描述

在這裡插入圖片描述

提交獲取

然後進行證書的申請

在這裡插入圖片描述

填個人信息,填完一步步保存提交後,證書申請會需要綁定DNS解析

在這裡插入圖片描述

我的是阿裡雲的,直接去DNS控制臺添加就行,你們的根據自己的去相應的添加

在這裡插入圖片描述

記錄值改為TXT,主機記錄跟記錄值,直接復制給的就行

在這裡插入圖片描述

顯示這樣說明成功
然後根據自己的需要選擇證書的下載

在這裡插入圖片描述

這裡我用的是SpringBoot項目裡面內置瞭tomcat所以下載瞭tomcat的
下載得到一個壓縮包,解壓後得到一個密鑰跟密碼(txt裡面的是密碼)

三、轉換

找到jdk的安裝目錄進入bin,用管理員身份運行命令行窗口
輸入

keytool -importkeystore -srckeystore latteitcjz.pfx -destkeystore latte.jks -srcstoretype PKCS12 -deststoretype JKS

#latteitcjz.pfx為你下載的證書的目錄和名字
#新生成的名字latte.jks

在這裡插入圖片描述

輸入兩次一樣的密碼也就是txt文件裡面的密碼
然後會生成一個別名記得別名的名字

四、配置項目

將上面生成的latte.jks復制到resources目錄下與application.yml同級,然後進行application的配置

server:
  ssl:
      key-store: classpath:latte.jks
      #這裡是配置你剛才部署在resources下的".jks"文件
      key-password: latte   #這裡是你解壓後的"jks-password.txt"文件中的密碼
      key-store-type: JKS
      key-alias: alias
      key-store-password: latte  #註意一定配這個密碼,不要隻配上面的,不然會報keystore password was incorrect
      #密鑰口令和密鑰庫口令一致
  port: 443
       
http:
  port: 90

在啟動類,添加以下的代碼

 @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @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(redirectConnector()); return tomcat;

    }

    @Bean
    public Connector redirectConnector() {
        Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
        connector.setScheme("http");
		
		//監聽90端口
        connector.setPort(90);

        connector.setSecure(false);
		//重定向與443
		//一個服務器隻有一個443端口,註意d
        connector.setRedirectPort(443);

        return connector;

啟動看看,如果報443端口占用問題,可能是你電腦安裝有虛擬機,虛擬機vm那個占用瞭

打開命令行窗口

netstat -aon|findstr “443” ,

看有沒有占用的,如果有

kill它: tasklist |findstr “進程號”

如果殺不掉,打卡任務管理器找到該進程號,結束任務,沒有問題後,上傳服務器測試就行

到此這篇關於SpringBoot添加SSL證書的方法的文章就介紹到這瞭,更多相關SpringBoot SSL證書內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: