创建密钥
首先,进入 nginx 配置目录,创建 openssl 配置文件 req.conf,其中的 CN, DNS.1, DNS.2 等需要替换为自己的域名:
1 | distinguished_name = req_distinguished_name |
接着,执行如下命令,创建证书:
1 | openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -out cert.pem -config req.conf -extensions 'v3_req' |
配置nginx
1 | server { |
服务器证书(ssl_certificate)是一个公开文件,每个请求连接的客户端都会收到一份。私有密钥(ssl_certificate_key)是加密单元,需要存储在保密的地方,但要确保 nginx 主线程可访问。私有密钥一般和证书存储到同一位置。
cert.pem 就是上一个步骤产生的证书和密钥,在一个文件中。
配置浏览器
打开 Chrome 的开发者工具下的【security】选项卡,查看当前的证书,然后下载下来,双击添加到操作系统中,修改为始终信任就可以了。
如果还继续显示是不安全,像下图这样
可以参照以下解决办法
Open developer tools
Goto the Application tab
Clear storage
Close and re-open tab