生成证书
(1) 首先在 nginx安装目录中创建ssl文件夹用于存放证书。比如我的文件目录为 /opt/SSL。进入ssl文件夹。 命令为: cd /opt/SSL
(2) 创建私钥
在命令行中执行命令:
openssl genrsa -des3 -out sonic.key 1024
(sonic文件名可以自定义),如下图所示:
输入密码后,再次重复输入确认密码。记住此密码,后面会用到。
(3) 创建csr证书,在命令行中执行命令:
openssl req -new -key sonic.key -out sonic.csr
(key文件为刚才生成的文件,sonic为自定义文件名)
如上图所示,执行上述命令后,需要输入信息。
输入的信息中最重要的为 Common Name,这里输入的域名即为我们要使用https访问的域名。 以上步骤完成后,ssl文件夹内出现两个文件:
(4)去除密码。
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。
复制sonic.key并重命名为sonic.key.org
可以使用此命令行,也可以使用鼠标操作
cp -r sonic.key sonic.key.org
去除口令,在命令行中执行此命令:
openssl rsa -in sonic.key.org -out sonic.key
(sonic为自定义文件名)
如下图所示,此命令需要输入刚才设置的密码。
(5)生成crt证书
在命令行中执行此命令:
openssl x509 -req -days 365 -in sonic.csr -signkey sonic.key -out sonic.crt
(sonic为自定义文件名)
证书生成完毕,SSL文件夹中一共生成如下4个文件,我们需要使用到的是sonic.crt和sonic.key。
此时,证书已生成完毕。
只需要在nginx.conf中配置即可。
配置信息参考:
#server中添加
listen 443 ssl;
server_name 1spansonic.com.cn;
ssl_certificate /opt/SSL/sonic.crt;
ssl_certificate_key /opt/SSL/sonic.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
server_tokens off; # 关闭(显示)Nginx 版本号。
keepalive_timeout 70; # 设置客户端连接保持活动的超时时间。
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
来源:oschina
链接:https://my.oschina.net/wxpi/blog/3234078