一、前言
最近公司后台系统与微信公众号对接的项目初步完成,在经过测试通过后,老板提醒我公司的官网是"https"协议的,而我之前的测试则都是"http"协议的,这下子我楞了一下,因此我需要给我自己的 tomcat 服务器上安装 ssl 证书,然后再重新进行测试(表示无所畏惧!!!),接下来,我将简述一下我安装 ssl 证书的流程,主要是第一次安装,记录一下留个纪念。
二、安装流程
1、前提条件
我们需要拥有一个已经拥有 ssl 证书的域名,如果域名还没有 ssl 证书的话,可以先申请,现在大部分的厂家都支持每年一定额度的免费申请,如阿里云每年可以创建 20 个免费的证书。
登录阿里云的“数字证书管理服务”控制台,然后点击免费证书,再点击创建证书,填写相关信息,通过验证,等待几分钟就申请到啦
2、下载 ssl 证书
接下来,我们点击下载按钮,下载 ssl 证书,这里我选择的是 JKS 格式
3、放置证书
解压缩我们下载的 ssl 证书后,我们会得到两个文件,一个后缀名为".jks"的文件和一个".txt"的密码文件,然后我们将这两个文件传入到 Linux 服务器中 tomcat 安装目录的 conf 目录下,这里我用的是 Xftp 传输。
4、配置 server.xml 文件
接下来,我们对 conf 目录下的 server.xml 文件进行配置
-
修改 节点的 port 和 redirectPort
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
更改为:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
-
默认情况下 <Connector port="8443" ......> 节点是被注释的,我们需要把注释去掉,然后对该节点进行配置,配置示例如下
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" #证书保存的路径,这里建议写绝对路径,如我的”/usr/local/tomcat/apache-tomcat-9.0.35/conf/cloud.tencent.com.jks“ keystoreFile="Tomcat 安装目录/conf/cloud.tencent.com.jks" #密钥库密码,就是你那个”.txt“文件里的内容 keystorePass="******" clientAuth="false"/>
配置文件的主要参数说明如下:
- keystoreFile:密钥库文件的存放位置,可以指定绝对路径,也可以指定相对于 <CATALINA_HOME> (Tomcat 安装目录)环境变量的相对路径。如果此项没有设定,默认情况下,Tomcat 将从当前操作系统用户的用户目录下读取名为 “.keystore” 的文件。
- keystorePass:密钥库密码,指定 keystore 的密码。申请证书时若设置了私钥密码,请填写私钥密码;若申请证书时未设置私钥密码,请填写 Tomcat 文件夹中 keystorePass.txt 文件的密码。
- clientAuth:如果设为 true,表示 Tomcat 要求所有的 SSL 客户出示安全证书,对 SSL 客户进行身份验证。
5、启动 Tomcat 服务器
- 若已启动,我们需要在 Tomcat 安装目录
bin
目录下(例如:/usr/local/tomcat/apache-tomcat-9.0.35/bin
)依次执行以下命令,关闭和重启 Tomcat 服务。./shutdown.sh (关闭 Tomcat 服务) ./startup.sh (启动 Tomcat 服务)
- 若未启动,我们需要在 Tomcat 安装目录
bin
目录下(例如:/usr/local/tomcat/apache-tomcat-9.0.35/bin
)执行以下命令,启动 Tomcat 服务。./startup.sh (启动 Tomcat 服务)
提示:这里可以在 /apache-tomcat-9.0.35/logs 目录下通过以下命令来监控是否成功启动 tomcat
tail -f catalina.out
6、访问验证
若启动成功,即可使用 https://你的域名
进行访问,如果浏览器地址栏显示安全锁标识,则说明证书安装成功。如下图所示:
7、HTTP 自动跳转 HTTPS 的安全配置(可选)
如果我们需要将 HTTP 请求自动重定向到 HTTPS。我们可以通过以下操作设置:
找到 Tomcat 安装目录 conf
目录下(例如:/usr/local/tomcat/apache-tomcat-9.0.35/conf
)的 web.xml
文件,打开它,找到 </welcome-file-list>
标签,并在结束标签 </welcome-file-list>
后面换行,添加以下内容:
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
更改完后记得重启 tomcat 哦!!!
三、总结
以上就是我个人安装在 tomcat9 上安装 ssl 证书的整个流程,写完笔记之后,感觉更加流畅了,如果有什么问题,可以将问题发我邮箱 luodiab@126.com,欢迎各位的意见。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于