《CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》介绍的是自己给自己颁发服务器端证书、然后再给客户端颁发证书的情况。如果你已经像你的客户一样厌倦了访问你们的网站时,浏览器弹出的安全警报,那就去申请一个 SSL 证书,如 VeriSign、GlobalSign,一般是几千块钱一年的有效期。本文介绍对于 Nginx + Tomcat 组合的 SSL 购买证书的安装。
1. 单向验证 SSL 证书的安装
1.1 nginx 安装
同《CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》所述。
1.2 证书的购买
先创建一个服务器端的 key,server.key,一般是 2048 位的:
sudo openssl genrsa -out server/server.key 2048
然后为我们的 key 创建一个证书签名请求 csr 文件,server.csr:
sudo opensslreq -new -key server/server.key -out server/server.csr
之后拿着这个 csr 文件去购买一个 SSL 证书,数字证书提供商会在邮件里提供给你签名证书的内容,新建一个名为 server.crt 的文件并把购买的证书内容以文本格式复制进该文件。最后把 server.key 和 server.crt 放到 nginx 所在服务器主机以供 nginx 使用。
其他《CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》所述的 CA 根证书、客户端证书不用管。
1.3 nginx 配置
基本同《CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》所述,ssl_certificate 指向刚才生成的 server.crt 文件,然后把双向验证的部分(ssi、ssi_silent_errors、ssi_types、ssl_client_certificate 等指令)去掉即可。
1.4 tomcat 配置
同《CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》所述。
就这些,配置部署好访问你的 SSL 网站吧。
2. 双向验证 SSL 证书的安装
先按《CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》第 2 部分所述操作一遍,然后拿着 server.csr 去申请证书,最后把提供商给的证书把原有的 server.crt 替换掉即可。其他操作与《CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》完全相同。