Spring Boot 教程:?jiǎn)⒂?HTTPS

【注】本文譯自: 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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容