1.要生成一个根证书私钥
des3代表加密算法,还可以选择-aes256等
2048代表加密强度
-passout pass:123456 这里直接输入密码
openssl genrsa -passout pass:123456 -des3 -out server.key 2048
2.使用根证书私钥生成csr(证书签名请求)
openssl req -passin pass:123456 -new -key server.key -out server.csr -subj "/C=CN/ST=ST/L=CITY/O=o/OU=ou/CN=www. test000001.com"
3.使用根证书私钥和csr生成根证书
-days后面是天数,尽可能填大一点
天数后面是使用的算法,不要选择sha1,谷歌浏览器会认为不安全
-extensions表示扩展属性
-extfile表示扩展属性所在的文件
openssl x509 -req -passin pass:123456 -days 18250 -sha256 -signkey server.key -extensions v3_ca -extfile /etc/pki/tls/openssl.cnf -in ca.csr -out ca.crt
4.去除密码防止更新及登陆需要密码验证
openssl rsa -in server.key -out server.key.unsecure
提示输入密码,输入上面配置的私钥密码
5.nginx配置文件:
server {
listen 443 default ssl; #监听443端口
server_name www.test000001.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key.unsecure;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
root /test_code;
index index.html;
}
}
# http访问80端口自动跳转到https
server {
listen 80;
server_name www.test000001.com;
rewrite ^(.*) https://www.test000001.com$1 permanent;
}
6.nginx -t -----检测语法
nginx -s reload ------重新加载配置文件
7.www.test000001.com 访问会提示不安全,高级---继续访问,导航栏可以看到是https访问