适用于已经可以访问的域名,但未配置https。
- 申请:申请ssl证书(DV)免费一年,不支持续费。阿里云一个账号一年有20个额度。
- 签发:证书习惯选择文件校验。
- 文件校验:在nginx.conf中配置的域名root访问目录。root的根目录下添加“.well-known/pki-???”文件夹。其中“.well-known”文件夹在cd命令是不显示。但实际已有该目录。
- 域名解析:除了已经解析的www二级域名,还需要解析不带www的根域名。
- nginx.conf文件中,需要兼容www二级域名和根域名的访问。
- 证书签发机构审核成功后下载。
- 上传证书至服务器cert目录(一般多个域名的证书在同一文件夹统一管理)
- nginx.conf中需要新添加一个server配置,ssl443端口。添加cert和key目录等。
不要忽略配置root访问目录和index.html等伪静态参数。
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
root html;
index index.html index.htm;
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}