第1步:生成私钥
执行如下命令生成一个RSA私钥
//生成rsa私钥,des3算法,1024位强度,ssl.key是秘钥文件名。
openssl genrsa -des3 -out ssl.key 1024
然后他会要求你输入这个key文件的密码,由你随便设置。
由于以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
但是生成时候必须输入密码。如果不想以后那么麻烦,生成之后可以执行如下命令再删掉。
openssl rsa -in ssl.key -out ssl.key
第2步:生成CSR(证书签名请求)
根据刚刚生成的key文件来生成证书请求文件,操作如下:
openssl req -new -key ssl.key -out ssl.csr
说明:执行以上命令后,需要依次输入国家、地区、城市、组织、组织单位、Common Name和Email。其中Common Name应该与域名保持一致。(以下仅供参考)
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:GuangDong
Locality Name (eg, city) []:GuangZhou
Organization Name (eg, company) [Internet Widgits Pty Ltd]:hj
Organizational Unit Name (eg, section) []:hj
Common Name (e.g. server FQDN or YOUR name) []:xxx 这一项必须和你的域名一致
Email Address []:hj@hj.com
第3步:生成自签名证书
根据以上2个文件生成crt证书文件,执行下面命令:
//这里3650是证书有效期(单位:天)。这个大家随意。最后使用到的文件是key和crt文件。
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt
需要注意的是,在使用自签名的临时证书时,浏览器会提示证书的颁发机构是未知的。
第4步:配置Nginx
在原有的server里追加追加一下内容:
listen port ssl;
ssl_certificate /home/nginx/ssl/ssl.crt; //生成的证书路径
ssl_certificate_key /home/nginx/ssl/ssl.key; //生成的ssl秘钥
ssl_protocols TLSv1.2;
server_tokens off;
ssl_prefer_server_ciphers off;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets off;
第5步:重载Nginx配置
执行nginx重载命令:
./nginx -s reload
参考:文章来源:https://www.toymoban.com/news/detail-811613.html
服务器配置https协议,三种免费的方法_https免费_天弈初心的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-811613.html
到了这里,关于Nginx配置https协议,基于Linux自签(OPENSSL生成SSL自签证书)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!