当我们发布的网站系统需要使用 https 协议进行访问的时候,服务器端就必须要配置 ssl 证书以及私钥,正式的CA中心颁发的证书一般需要不小的一笔费用,如非必须的情况下,我们就可以自己通过openssl工具自己制作一个ssl证书,下面就是本人近期用于生成ssl证书的每一个具体步骤,亲测可用,做个记录,以供参考!
执行步骤记录:
1、生成服务器端的私钥(key文件server.key) 执行命令后会让设置密码口令
[root@localhost newssl]# openssl genrsa -des3 -out server.key 1024
2、去除key文件口令(不然每次reload nginx配置时候都要验证口令)
[root@localhost newssl]# openssl rsa -in server.key -out server.key
3、找到 openssl.cnf 文件位置
[root@localhost newssl]# find / -name openssl.cnf
/etc/pki/tls/openssl.cnf
4、生成服务器证书请求( CSR ) (执行命令后会需要输入一系列信息,其中 Common Name 要输入域名后缀:*.xxx.cn )
openssl req -new -key server.key -out server.csr -config /etc/pki/tls/openssl.cnf
...
Common Name (eg, your name or your server's hostname) []:*.xxx.cn
...
5、生成服务器证书(crt)( -days 参数指明证书有效期,单位为天)
[root@localhost newssl]# openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Signature ok
6、查看证书内容
[root@localhost newssl]# openssl x509 -noout -text -in server.crt
7、修改nginx配置
[root@localhost newssl]# vi /etc/nginx/conf.d/default.conf
ssl on;
ssl_certificate /etc/nginx/newssl/server.crt;
ssl_certificate_key /etc/nginx/newssl/server.key;
8、重启nginx命令:
[root@localhost newssl]# /usr/sbin/nginx -s reload
参考文章:
linux生成自验证ssl证书的具体命令和步骤: https://www.cnblogs.com/bigmoon/p/7241702.html
ssl证书生成与验证: http://www.cnblogs.com/vincentfu/p/5475248.html