1、创建存放证书的目录,此目录可自定义
cd /etc/nginx
mkdir key
cd key
2、执行命令生成一个key
openssl genrsa -des3-out ssl.key 4096
然后会要求你输入这个key文件密码。这里不推荐输入。因为以后要给nginx使用。每次reload nginx配置的时候都要你验证这个PAM密码。
由于生成时候必须输入密码,你可以输入后在删掉。
mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key
3、根据这个key文件生成证书请求文件
openssl req -new -key ssl.key -out ssl.csr
4、最后根据这2个文件(ssl.key ssl.csr)生成crt证书文件
openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
这里365是证书有效期,推荐3650。这个大家随意。最后使用到的文件是key和crt文件。
5、在需要使用证书的nginx配置文件的server节点里加入一下配置就可以了。
server {
listen 443;#https默认使用433端口
server_name 0.0.0.0;#将0.0.0.0替代为你的网站域名或ip
ssl on;
ssl_certificate /etc/nginx/key/ssl.crt;
ssl_certificate_key /etc/nginx/key/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
...
}
由于本人在这中间卡了好久,最后知道是没装ssl模块
解压完编译执行
make
然后就将刚编译好的放进原有的nginx里面
cp ./objs/nginx /usr/local/nginx/sbin
接下来就可以正常启动了文章来源:https://www.toymoban.com/news/detail-594986.html
6、重启nginx就大功告成了
重启后我们可以来到浏览器上,输入填的域名访问。如下(用了两种浏览器测试):文章来源地址https://www.toymoban.com/news/detail-594986.html
到了这里,关于Nginx生成自定义证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!