linux和windows下,因为有ngxin,所以安装ssl证书都感觉比较容易,毕竟通过代理方式能够胜任大多数的https安全问题。
但是有些情况下,ngxin可能无法安装什么的,可能需要在spring boot下直接安装ssl,咋办?
这么办:
1、说明:
文档以证书名称 cloud.tencent.com
为例。
Spring Boot 版本以 3.0.2
为例。
当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。
若您需在 Tomcat 服务器中安装 JKS 格式 SSL 证书。具体请参见 Tomcat 服务器 SSL 证书安装部署(JKS 格式)。
安装 SSL 证书前,请您在 Tomcat 服务器上开启 “443” 端口,避免证书安装后无法启用 HTTPS。具体请参见 服务器如何开启443端口?
2、前提条件
已准备文件远程拷贝软件,例如 xshell(建议从官方网站获取最新版本)。 若您需部署到腾讯云云服务器,建议使用云服务器的文件上传功能。详情请参见 上传文件到云服务器。
已准备远程登录工具,例如 PuTTY 或者 Xshell(建议从官方网站获取最新版本)。
安装 SSL 证书前需准备的数据如下:
服务器的 IP 地址 |
用户名 |
密码 |
3、步骤:
第一步,请在 SSL 证书控制台 中选择您需要安装的证书并单击下载。
证书需要跟发布的方式匹配。注意下。
在弹出的证书下载窗口中,服务器类型选择 Tomcat,单击下载并解压缩 cloud.tencent.com
证书文件包到本地目录。 解压缩后,可获得相关类型的证书文件。其中包含 cloud.tencent.com_tomcat
文件夹:
文件夹名称:cloud.tencent.com_tomcat
文件夹内容:cloud.tencent.com.pfx
证书文件、keystorePass.txt
密码文件(若已设置私钥密码,则无 keystorePass.txt
密码文件)
第二步,
将已获取到
的 cloud.tencent.com.pfx
证书文件从本地目录拷贝至 Spring Boot 项目的 src/main/resources
目录下。如下图所示:
第三步,编辑 Spring Boot 项目的 application.properties
或application.yml
文件。并根据实际需求从以下方式中选择一种进行操作:
方式一:
修改 application.properties
文件,添加如下内容:
server.address=cloud.tencent.com
server.port = 443
server.ssl.key-store = classpath:cloud.tencent.com.pfx
server.ssl.key-store-password = *******
server.ssl.keyStoreType = PKCS12
方式二:
修改 application.yml
文件,添加如下内容:
server: address: cloud.tencent.com
port: 443
ssl: key-alias: cloud.tencent.com
key-store-password: *******
key-store-type: PKCS12
key-store: classpath:cloud.tencent.com.pfx
配置文件的主要参数说明如下:
classpath: 指的是项目的src/main/java
和src/main/resources
路径。存放在这两个路径下的文件都可以使用classpath 作为路径来引用。
key-store:证书文件的存放位置。即第二步存放证书文件的路径。
key-store-password:密码文件密码,指定 keystore 的密码。
申请证书时若设置了私钥密码,请填写私钥密码;
若申请证书时未设置私钥密码,请填写cloud.tencent.com_tomcat
文件夹中 keystorePass.txt 文件内的密码。
key-alias:密钥别名。在 SSL 证书控制台 下载的,别名为证书的绑定域名。如: cloud.tencent.com
。
第四步:上传jar包,启动 Spring Boot 服务。若启动成功,即可使用 https://cloud.tencent.com
进行访问。
如果访问不通,需要检查防火墙和安全组相关端口是否开放。
如果浏览器地址栏显示安全锁标识,则说明证书安装成功。如下图所示: