【注】本文譯自: https://www.tutorialspoint.com/spring_boot/spring_boot_enabling_https.htm
image
??Spring Boot 應(yīng)用默認(rèn)以 HTTP 8080 端口啟動(dòng)。
image
??你要在 Spring Boot 應(yīng)用中執(zhí)行以下步驟來配置 HTTPS 和端口 443:
- 獲取 SSL 證書:創(chuàng)建自簽名證書或者從一個(gè)證書認(rèn)證機(jī)構(gòu)申請(qǐng)一個(gè)。
- 啟用 HTTPS 和 443 端口
自簽名證書
??Java 運(yùn)行時(shí)環(huán)境已經(jīng)內(nèi)置了證書管理實(shí)用工具,可用于創(chuàng)建自簽名證書。示例代碼如下:
keytool -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
??這段代碼將產(chǎn)生一個(gè)名為 keystore.p12 的PKCS12 keystore 文件,證書別名為 tomcat。
配置 HTTPS
??我們要在 application.properties 文件中寫入:服務(wù)端口為 443、key-store 文件路徑、key-store-password、key-store-type 和 密鑰別名。如下所示:
server.port: 443
server.ssl.key-store: keystore.p12
server.ssl.key-store-password: springboot
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat
??如果你使用 YAML 屬性的話,你也可以使用下面的 application.yml 的代碼:
server:
port: 443
ssl:
key-store: keystore.p12
key-store-password: springboot
keyStoreType: PKCS12
keyAlias: tomcat
??現(xiàn)在可以使用 Maven 或 Gradle 命令創(chuàng)建可執(zhí)行 executable JAR 文件并運(yùn)行 Spring Boot 應(yīng)用了:
??Maven 命令如下:
mvn clean install
??在 “BUILD SUCCESS” 之后,你可以在 target 目錄下找到 JAR 文件。
??Gradle 可以使用以下命令:
gradle clean build
??在 “BUILD SUCCESSFUL” 之后,你可以在 build/libs 目錄下找到 JAR 文件。
??使用以下命令運(yùn)行 JAR 文件:
java –jar <JARFILE>
??應(yīng)用已在 Tomcat 443 端口啟動(dòng),如下圖所示:
image