基于nginx结合openssl实现https

流过昼夜 提交于 2019-11-30 03:05:23

实验环境:

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

添加以下内容:

 

 重启服务即可

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!