tomcat8配置https协议访问

Posted 炬南山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat8配置https协议访问相关的知识,希望对你有一定的参考价值。


背景介绍

由于当前系统网站采用的是http协议访问,这种协议 通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性,很容易被攻击者 篡改网站,为了 防止网站被黑被篡改,因此需要对当前http协议改造成https协议,保障网站的安全和客户利益不受损。


.
改造方案


.
生成https证书
01
服务端生成证书
tomcat8配置https协议访问

使用keytool工具为Tomcat生成证书,keystore文件想要存放在“/opt/apache-tomcat-8.5.46/tlskey/jaytom.keystore”,口令“123456”。

tomcat8配置https协议访问

参数说明:

tomcat8配置https协议访问


tomcat8配置https协议访问

0 2
客户端生成证书
tomcat8配置https协议访问

为客户端浏览器生成证书,便于服务器来验证它。为了能将证书顺利导入至浏览器,证书格式应该是PKCS12。

tomcat8配置https协议访问

tomcat8配置https协议访问

03
配置服务端信任客户端证书
tomcat8配置https协议访问

由于是双向SSL认证,服务器必须要建立信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件。

tomcat8配置https协议访问

tomcat8配置https协议访问

接下来将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:

tomcat8配置https协议访问通过list命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书tomcat8配置https协议访问

04
配置客户端信任服务端证书
tomcat8配置https协议访问

客户端也要验证服务器证书,因此,必须把服务器证书添加到浏览的“受信任的根证书颁发机构”。由于不能直接将keystore格式的证书库导入,必须先把服务器证书导出为一个单独的CER文件。

tomcat8配置https协议访问

通过以上命令,已将服务器证书导出到“CA.cer”文件了。将此文件提供给客户端双击client_key.cer文件,按照提示安装证书,将证书填入 到“受信任的根证书颁发机构”。

tomcat8配置https协议访问

如下是生成的证书,请将CA.cer,jayclient.p12从服务器端下载到本地

tomcat8配置https协议访问

.
tomcat配置https

打开tomcat配置文件,如:/opt/apache-tomcat-8.5.46/conf/server.xml,如下两个地方配置文件

tomcat8配置https协议访问

修改后的配置截图如下

tomcat8配置https协议访问

tomcat8配置https协议访问

tomcat8配置https协议访问


.
重启tomcat服务 

./catalina.sh start

tomcat8配置https协议访问


六.
功能验证

导入证书到浏览器

将证书client_key.cer从linux服务器端下载到本地机器

tomcat8配置https协议访问

导入证书

双击证书“jayclient.p12” 安装

tomcat8配置https协议访问



tomcat8配置https协议访问

tomcat8配置https协议访问


输入证书密码“123456”,然后下一步,最后完成。

tomcat8配置https协议访问

双击证书“CA.cer”证书,然后点击安装证书tomcat8配置https协议访问

tomcat8配置https协议访问

tomcat8配置https协议访问

tomcat8配置https协议访问

以上证书已经安装完成。

C:WindowsSystem32driversetc

tomcat8配置https协议访问

tomcat8配置https协议访问



总 结

通过HTTP改造成HTTPS使网站系统信息传输变得更加安全,但同时也会让系统会带来巨大的性能损耗,使得用户体验变得比较差,这也是一直制约着 HTTPS 普及的重要原因之一。为确保网站系统的安全性,牺牲一点服务资源性能也是值得的。后续还可以单独从HTTPS连接数上去做限流控制,可以减轻高并发对服务器压力 。


本期作者|晏杰宏  主要负责数据库、中间件、大数据等基础软件建设、优化和业务保障工作。具有10年的电信与银行企业一线/二线运维服务管理经验。目前专注于云计算、中间件、开源技术和数据库等领域技术研究。持有Oracle OCP、weblogic OCP、Docker容器、Postgresql PGCE和阿里云ACP等认证。


以上是关于tomcat8配置https协议访问的主要内容,如果未能解决你的问题,请参考以下文章

tomcat搭建https服务

Tomcat配置https协议访问

使用https访问http/https通信协议,需要哪些配置文件

Linux下nginx配置https协议访问的方法

springboot配置ssl访问https

nginx反向代理批量实现https协议访问