\1. 检查服务器openssl是否可以使用
openssl version
如果出现openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file
执行find / -name libssl.so.1.1,找到libssl.so.1.1存放路径
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
再次执行openssl version
2.使用openssl工具生成一个RSA私钥
openssl genrsa -des3 -out server.key 2048
如上:des3 是算法,2048位强度(为了保密性)。 server.key 是密钥文件名 -out的含义是:指生成文件的路径和名称,上面命令生成文件在当前目录。
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后再删掉。
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次
mv server.key ssl.key(重命名key文件)
openssl rsa -in ssl.key -out server.key(重新生成免密key文件)
rm ssl.key(删除pem密码的key文件)
openssl req -new -key server.key -out ssl.csr
C => 国家 Country
ST => 省 State
L => 市 City
O => 机构 Organization
OU => 部门 Organization Unit
CN => 域名 Common Name (证书所请求的域名)
emailAddress => main administrative point of contact for the certificate
4.根据这server.key、ssl.csr文件生成crt证书文件
openssl x509 -req -days 3650 -in ssl.csr -signkey server.key -out ssl.crt
x509的含义: 指定格式
-days 的含义:证书的有效时间,天为单位
-in的含义: 指定请求文件
-signkey的含义: 自签名
-out:生成crt文件的路径和名称
\5. 在nginx安装目录下新建ssl文件夹,用来存放证书文件
mkdir -p /risen/soft/nginx/ssl
cp -r /root/server.key /risen/soft/nginx/ssl/(拷贝key文件,路径自己定义)
cp -r /root/ssl.crt /risen/soft/nginx/ssl/(拷贝crt文件,路径自己定义)
6.配置nginx证书配置(https协议)
评论区