问题
- 内网https证书如何制作
解决
- 由于是内网环境,所以采用的是用 openssl 生成自签证书
1、创建目录 (习惯放在此目录)
cd /usr/local/nginx/conf/
mkdir cert
2、创建 SSL Certificate
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout nginx.key -out nginx.crt
参数说明:
- req: 配置参数 - x509 指定使用 X.509 证书签名请求管理 (certificate signing request (CSR)).“X.509” 是一个公钥代表 that SSL and TLS adheres to for its key and certificate management.
- nodes: 告诉 OpenSSL 生产证书时忽略密码环节.(因为我们需要 Nginx 自动读取这个文件,而不是以用户交互的形式)。
- days 36500: 证书有效期,100 年
- newkey rsa:2048 : 同时产生一个新证书和一个新的 SSL key (加密强度为 RSA 2048)
- keyout:SSL 输出文件名
- out: 证书生成文件名
它会问一些问题。整个过程应该如下所示:
三、创建完成后,添加代码进入配置文件中(添加进 server 块中,注意生成文件的目录)
listen 443 ssl;
ssl_certificate cert/nginx.crt;
ssl_certificate_key cert/nginx.key;
keepalive_timeout 70;
四、重启 nginx
nginx -s reload
五、如果重启出现此错误,(nginx 没有开启 ssl 模块),请参考此文章
[Nginx 配置 SSL 报错 nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_modele](https://www.blsa.cn/articles/146 “Nginx 配置 SSL 报错 nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_modele”)
六、最后效果