1、ZeroSLL官网:https://zerossl.com/
2、注册账号,点击免费 SSL 证书申请,注册账号,https://app.zerossl.com/signup
3、填写你的 IP 地址,然后选择免费 SSL 证书时长,90天。
4、选择自动生成 CSR。
5、验证域名,云主机的 IP 只有使用权,所以不能通过 DNS 方式验证,选择第二种 web 方式验证。
按提示下载文件。
按要求把文件放到指定文件夹,前面已经安装了 Nginx,所以我们直接在 Nginx 网站默认主页下创建即可。默认路径:/usr/share/nginx/html。
上传完成之后先访问一下是否可以看到验证文件。
最后,回到 ZeroSSL 验证页面,点击完成验证。
6、下载证书
ZeroSSL 证书验证成功后,就可以下载证书文件了。ZeroSSL SSL 证书提供了多种形式,包括了 Nginx、Apache 等。下载 Nginx 证书,下载下来的 ZeroSSL 证书文件有三个:ca_bundle.crt 和 certificate.crt 以及私钥 key。
7、配置Nginx-官网教程
使用 nginx -t 命令,可以看到Nginx配置的默认地址:/etc/nginx/nginx.conf
nginx -t
在 nginx 文件夹下新建证书文件夹
cd /etc/nginx mkdir cert && cd cert
使用 FTP 工具 Xftp 把刚才下载的密钥上传到 cert 文件夹。
合并 .crt 文件
cat certificate.crt ca_bundle.crt >> certificate.crt
Nginx.conf 配置
进入 conf.d 文件夹
cd /etc/nginx/conf.d/
新建 ip.conf 文件
touch ip.conf
编辑 ip.conf 文件
vim /etc/nginx/conf.d/ip.conf
写入下面的配置
server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; server_name _; #你的服务器IP地址 #HTTP 重定向到 HTTPS if ($ssl_protocol = "") { return 301 https://$host$request_uri; } #ssl on; ##官方文档这行必须关闭,否则会报错。 #nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/conf.d/ip.conf:12 #证书位置 ssl_certificate /etc/ssl/certificate.crt; ssl_certificate_key /etc/ssl/private.key; #证书配置 ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #安全链接可选的加密协议 ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; #加密算法 ssl_prefer_server_ciphers on; #使用服务器端的首选算法 ssl_session_timeout 10m; #缓存有效期 #证书日志 access_log /var/log/nginx/nginx.ip.access.log; error_log /var/log/nginx/nginx.ip.error.log; #指定文件路径,这里没有搭建任何网站,默认文件已经指定了默认网页,不需再指定。 #location / { #root /home/www/public_html/your.domain.com/public/; #index index.html; #} }
验证 nginx 配置
nginx -t
重载 Nginx 配置
nginx -s reload
访问 ip 即可自动跳转 https