HTTPS实战之如何在linux环境下部署HTTPS WEB

HTTPS 既支持单向认证,也支持双向认证,单向认证仅需要服务端提供证书即可,客户端通过服务端证书验证服务端身份;而双向认证既需要服务端提供服务端的证书,也需要客户端提供客户端证书,需要同时验证服务端和客户端双方的身份,并对通信内容加密。

本文将介绍如何部署HTTPS ,以Tomcat为例,介绍如何在Java环境下,搭建基于
Tomcat 的单向认证和双向认证HTTPS Web, 此处将使用生成的客户端、服务端证书和 CA 根证书。不清楚的可以先看这里: https://www.jianshu.com/p/93ab6e4ba1d0 里面有介绍如何获取这个东西。

在linux环境下部署

1.Tomcat 单向认证的配置
首先下载 Tomcat , Torncat8 是目前最稳定最常用的版本。
wget http://mirrors.cnnic.en/apache/torncat/torncat-8/v8.0.37/bin/apache-torncat-8.0.37.tar.gz

2.解压tar -zxvf 。。。。

3.启动。

tomcat8/bin/startup.sh

4.修改配置

cd tomcat/conf
vim server.xml

找到默认注释HTTPS的这行

打开注释,加上 keystore 的地址与 keystore 密码两项,keystoreFile= "/hom e/longlong/temp/testssl/server.keystore", keystorePass= "123456", 并且将 port修改为 H TTPS 默认的 443 端口。由于此处使用的 keystore 为PK CS#l2 格式,因此需要加上参数keystoreType= "pkcsl2", 由于这里配置的是单向认证,只需要校验服务端证书的有效性,所以将 clientA uth一 项设置为false。

如图:
Ubuntu从10.04 起,默认关闭 1024 以 下的端口,需要安装 authbind 才能使用相应的端L o authbind 是G N U 下的一 个小工具,用于帮助系统管理员来为程序指定端口。

安装

sudo apt-get install authbind

配置443端口

sudo touch /etc/authbind/byport/443

重新启动

sudo ./startup.sh
sudo authbind --deep ./startup.sh

由于HTTPS默认端口是443,因此在访问时可以不带端口号,直接使用

Https://localhost

待续。。。

你可能感兴趣的:(HTTPS实战之如何在linux环境下部署HTTPS WEB)