Spring Boot - 启用 HTTPS

默认情况下,Spring Boot 应用程序在启动时使用 HTTP 8080 端口。

在 Tomcat 端口 8080 上启动应用程序

您需要按照以下步骤在 Spring Boot 应用程序中配置 HTTPS 和端口 443 −

  • 获取 SSL 证书 – 创建自签名证书或从证书颁发机构获取一份

  • 启用 HTTPS 和 443 端口


自签名证书

为了创建自签名证书,Java 运行时环境附带了证书管理实用程序密钥工具。 此实用工具用于创建自签名证书。 它显示在此处给出的代码中 −

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

此代码将生成一个名为 keystore.p12 的 PKCS12 密钥库文件,证书别名为 tomcat。


配置 HTTPS

我们需要在 application.properties 文件中提供服务器端口为 443、key-store 文件路径、key-store-password、key-store-type 和 key 别名。 观察这里给出的代码 −

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

您可以创建一个可执行的 JAR 文件,并使用以下 Maven 或 Gradle 命令运行 Spring Boot 应用程序。

对于 Maven,可以使用以下命令 −

mvn clean install

在“BUILD SUCCESS”之后,您可以在目标目录下找到 JAR 文件。

对于 Gradle,您可以使用命令

gradle clean build

在“BUILD SUCCESSFUL”之后,您可以在 build/libs 目录下找到 JAR 文件。

现在,使用以下命令运行 JAR 文件 −

java –jar <JARFILE>

现在,应用程序已在 Tomcat 端口 443 上使用 https 启动,如图所示 −

在 Tomcat 端口 443 上启动应用程序