Spring Boot啓用HTTPS

默認情況下,Spring Boot應用程序在應用程序啓動時使用HTTP的8080端口。

可按照以下步驟,在Spring Boot應用程序中配置HTTPS和端口443 -

  • 獲取SSL證書 - 創建自簽名證書或從證書頒發機構獲取證書
  • 啓用HTTPS和443端口

自簽證書

要創建自簽名證書,Java運行時環境與證書管理實用程序密鑰工具捆綁在一起。 此實用程序工具用於創建自簽名證書。 它顯示在這裏給出的代碼中 -

path_to_keytool > keytool.exe -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650
Enter keystore password:
   Re-enter new password:
   What is your first and last name?
   [Unknown]:
   What is the name of your organizational unit?
   [Unknown]:
   What is the name of your organization?
   [Unknown]:
   What is the name of your City or Locality?
   [Unknown]:
   What is the name of your State or Province?
   [Unknown]:
   What is the two-letter country code for this unit?
   [Unknown]:
   Is CN = Unknown, OU=Unknown, O = Unknown, L = Unknown, ST = Unknown, C = Unknown correct?
   [no]: yes

此代碼將生成名爲keystore.p12的PKCS12密鑰庫文件,證書別名爲tomcat。

配置HTTPS

application.properties文件中提供服務器端口:443,密鑰存儲文件路徑,密鑰存儲密碼,密鑰存儲類型和密鑰別名。如下給出的代碼 -

server.port: 443
server.ssl.key-store: keystore.p12
server.ssl.key-store-password: springboot
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat

如果是在application.yml 下面使用YAML屬性,則可以使用以下代碼 -

server:
   port: 443
   ssl:
      key-store: keystore.p12
      key-store-password: springboot
      keyStoreType: PKCS12
      keyAlias: tomcat

可以創建可執行的JAR文件,並使用以下Maven或Gradle命令運行spring boot應用程序。

對於Maven,可以使用以下命令 -

mvn clean install

在「BUILD SUCCESS」之後,在target 目錄下找到JAR文件。

對於Gradle,可以使用以下命令:

gradle clean build

在「BUILD SUCCESSFUL」之後,可在 build/libs 目錄下找到JAR文件。

現在,使用以下命令運行JAR文件 -

java –jar <JARFILE>

現在,應用程序已在Tomcat端口443上啓動。