1、nginx配置https访问,生成自签名证书
这里说下Linux 系统怎么通过openssl命令生成 证书。
创建存放证书的目录,此目录可自定义
cd /etc/nginx
mkdir ssl
cd ssl
执行如下命令生成一个key
openssl genrsa -des3 -out ssl.key 1024
然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后 再删掉。
mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key
然后根据这个key文件生成证书请求文件
openssl req -new -key ssl.key -out ssl.csr
以上命令生成时候要填很多东西 如图:
最后根据这2个文件(ssl.key ssl.csr)生成crt证书文件
sudo openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
这里365是证书有效期 推荐3650哈哈。这个大家随意。最后使用到的文件是key和crt文件。
2、修改nginx配置文件,例如我本机是这样的:
标红的几个地方是修改后的样子,我把它复制出来,方便你操作
ssl_certificate /etc/nginx/ssl/ssl.crt;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
4、重启nginx,reload没用,必须restart
5、证书导入本机
把最开始用openssl库生成的ssl.crt弄到桌面,然后照着下面教程依次执行
a、win+r 输入mmc
b、弹出框选择文件->添加/删除管理单元->证书->本地计算机->确认
c、证书->所有任务->导入(选择ssl.crt)