实验环境:
1.首先确保机器已安装nginx服务
rpm -q nginx
2.关闭防火墙及Linux安全机制
systemctl stop firewalld.service
iptables -F
setenforce 0
3.使用nginx -V命令查看nginx是否支持ssl
查看 configure arguments 信息中是否包含 -with-http_ssl_module 字样,如果没有则需要重新编译安装。
1)创建证书索引数据库文件
touch /etc/pki/CA/index.txt
2)指定第一个颁发证书的序列号
echo 01 > /etc/pki/CA/serial
1)生成CA私钥
cd /etc/pki/CA
umask 066
openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
2) 生成CA自签名证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem (回到根目录下)
-new: 生成新证书签署请求
-x509: 专用于 CA 生成自签证书
-key: 生成请求时用到的私钥文件
-days n:证书的有效期限
-out: 证书的保存路径
输入命令后会提示输入国家,省,市,公司名称,部门名称,CA主机名(颁发者名称)等信息。
颁发证书
1)在根目录下创建一个名为key的目录
mkdir key
2)生成web服务器私钥
cd key/
umask 066
openssl genrsa -out key/service.key 2048
3) 生成CA证书申请文件
openssl req -new -key service.key -out service.csr
4)创建服务目录
mkdir /etc/pki/CA/csr
mv service.csr /etc/pki/CA/csr
openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 365
提示是否继续,输入yes
5)修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
添加以下内容:
重启服务即可