前提:已安装Openssl
1、生成证书
1、创建私钥
openssl genrsa -des3 -out ca.key 1024
输入密码后,再次重复输入确认密码。记住此密码,后面会用到。
2、创建csr证书
openssl req -new -key ca.key -out ca.csr
完成以上两步后会得到一下两个文件:
3、去除密码
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。
复制ca.key并重命名为ca.key.com
执行去除密码命令:
openssl rsa -in ca.key.com -out ca.key
4、生成crt证书
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
执行命令后如下则成功,
完成后会得到以上4个文件,到此证书生成成功
2、配置nginx
1、修改nginx.conf文件
server {
listen 443 ssl;
server_name www.ca.com; # 需要https访问的域名
ssl_certificate /opt/nginx/ssl/ca.crt; # 生成的文件路径
ssl_certificate_key /opt/nginx/ssl/ca.key; # 生成的文件路径
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;
}
location = /50x.html {
root html;
}
}
2、重启nginx并测试
提示不安全是因为我们的CA证书是自己生成的,CA证书不受信任,得手动将CA根证书添加到“受信任的根证书颁发机构”存储区中。
在浏览器中,访问 https://www.ca.com。发现出现证书认证,并能够成功访问。(www.ca.com为生成证书时,Common Name输入的域名)
评论区