1、申请证书如下:
$ ls /etc/nginx/ssl/
nginx.crt nginx.csr nginx.key
其中
nginx.crt
是申请的证书,nginx.key
是私钥文件,nginx.csr
是签署请求文件(可删)。
我这里是在本地使用虚拟机进行测试,所以需要自建 CA 签发证书,可参考【OpenSSL(2)之PKI简述及建立私有CA并签发证书】。
当然,如果是在公网环境中,申请好证书直接拿来用就行了。
2、新建如下虚拟主机:
server {
listen 443 ssl;
server_name www.zze.com;
root /code/nginx;
# 指定证书文件路径
ssl_certificate "/etc/nginx/ssl/nginx.crt";
# 指定私钥文件路径
ssl_certificate_key "/etc/nginx/ssl/nginx.key";
# 下面的选项都是可选的优化配置
# 声明 SSL 缓冲区大小
ssl_session_cache shared:SSL:1m;
# 指定 SSL 会话超时时间
ssl_session_timeout 10m;
# 指定加密算法,以 : 分隔,! 表示禁用
ssl_ciphers HIGH:!aNULL:!MD5;
# 依赖 SSLv3 和 TLSv1 协议的服务器密码将优先于客户端密码
ssl_prefer_server_ciphers on;
location / {
index index.html;
}
}
3、配置完毕后,参考【Apache/httpd(13)之给httpd服务整上https】第 8
步在本地导入 CA 证书。
4、添加测试页面:
$ echo 'TEST HTTPS WITH NGINX~~~' > /code/nginx/index.html
5、启动 Nginx 服务,测试浏览器访问:
评论区