先在桌面创建个SSL文件夹,用来放生成的私钥证书文件
打开终端cd到SSL文件夹
- 自签名证书
(1) 在SSL文件夹中生成私钥
openssl genrsa -out server.key 2048
(2) 生成自签名证书
openssl req -new -sha256 -x509 -days 365 -key server.key -out server.crt
- 配置nginx
(1) 放入证书
将server.crt和server.key两个文件拷贝,放到nginx目录
(2) 修改nginx.conf配置文件,wx.localhost.com需要做域名映射
server {
listen 443 ssl;
server_name wx.localhost.com;
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8081;
}
}
修改完后重启nginx
sudo nginx
sudo nginx -s reload
- 自己作为CA签发证书
(1) 生成CA根证书,其实就是自签名证书
先在桌面的SSL文件夹里创建个CA文件夹,用来存放放自己作为CA生成的私钥证书文件,打开终端cd到CA文件夹
- 私钥
这里使用-des3进行加密,需要四位以上密码
openssl genrsa -des3 -out ca.key 4096
- 证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
按1自签名证书流程,得到ca.key和ca.crt
(2 )创建服务器私钥
openssl genrsa -out server.key 4096
(3) 生成证书请求文件CSR
openssl req -new -key server.key -out server.csr
此时已得到如下4个文件:ca.crt,ca.key,server.csr,server.key
(4) 自己作为CA签发证书
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -days 365
需要输入生成ca.key时设置的密码
双击ca.crt安装
到钥匙串访问,找到安装的证书,右键点击 → 显示简介 → 设置始终信任