Spring Boot - 启用HTTPS


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

HTTP 8080端口

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

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

  • 启用HTTPS和443端口

自签证书

要创建自签名证书,Java Run Time环境与证书管理实用程序密钥工具捆绑在一起。此实用程序工具用于创建自签名证书。它显示在这里给出的代码中

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,密钥存储文件路径,密钥存储密码,密钥存储类型和密钥别名。观察这里给出的代码

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”之后,您可以在目标目录下找到JAR文件。

对于Gradle,您可以使用该命令

gradle clean build

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

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

java –jar <JARFILE>

现在,应用程序已在Tomcat端口443上启动,其中显示了https

https