Windows 开发环境使用 mkcert 为本机 localhost 自签 SSL 证书
1、安装 mkcert
Windows 环境下使用 chocolatey 安装 mkcert,首先安装 chocolatey ,管理员权限打开cmd,执行命令:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco 安装 mkcert
choco install mkcert
2、创建本地 CA
mkcert -install
3、制作证书
针对于不同的 web server,有不同的参数。
3.1 iis
mkcert -pkcs12 localhost 127.0.0.7 ::1
这个命令会在目录创建一个文件:localhost+2.p12,证书默认密码是“changeit”,导入系统时需要用到。p12 证书可以通过直接改后缀得到 pfx 证书。
3.2 nginx
mkcert localhost 127.0.0.1 ::1
这个命令会创建两个文件:localhost+2.pem 和 localhost+2-key.pem 。
4、使用证书
4.1 iis
mkcert创建的 p12 证书,改后缀为 pfx 证书,导入到“受信任的跟证书颁发机构”,证书默认密码“changeit”,导入成功之后,就可以在 iis 为网站使用证书了。
4.2 nginx
在nginx.conf中指定证书路径
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
ssl_certificate c:/certs/localhost+2.pem;
ssl_certificate_key c:/certs/localhost+2-key.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
重启 nginx
nginx -s reload