本文目录
显示
1.
zerossl证书申请
1.1.
手动申请
1.2.
验证域名
2.
zerossl证书安装
2.1.
下载证书文件
2.2.
合并ssl证书
2.3.
安装ssl证书
3.
总结
3.1.
引用链接
3.2.
推荐阅读
一般来说,我们使用域名访问给域名加上 ssl 证书是建站的常规操作,但是有一些应用可能不需要使用域名访问,或者是不想绑定域名,而只是想用单纯的 ip 来实现访问。在现在全网都是https加密访问的背景下,有没有可能给ip地址也加上ssl证书实现访问呢?
有。但大多数面对 ip 的 ssl 证书都是收费的。而 zerossl 提供免费ssl证书[1]是支持纯 ip 颁发的,本篇文章就来分享一下zerossl[2]免费的纯 ip ssl 证书申请以及如何在自己的服务器(nginx)安装配置 zerossl 免费 ssl 证书。更多的免费 ssl 请参考专题页面:免费 ssl 证书收集整理汇总[3]。
zerossl证书申请
网站:https://zerossl.com[4]
手动申请
进入到zerossl[5]官网,注册一个账号,然后点击免费 ssl 证书申请。
填写你的 ip 地址,然后选择免费 ssl 证书时长。
选择自动生成 csr。
验证域名
zerossl免费ssl证书提供了两种域名验证方式,最简单的就是 web 验证,但是前提是你要让你的 ip 地址实现 web 访问。如果没有,你可以选择使用域名 dns 添加 txt 记录验证。
选择网站 web 访问的话,直接下载验证文件,然后上传到 ip 地址默认的 web 目录下,要求是路径保持如下:
用你的浏览器打开 ip,保证可以访问到验证文件。
最后,回到 zerossl 验证页面,点击完成验证。
zerossl证书安装
下载证书文件
zerossl 证书验证成功后,你就可以下载证书文件了。zerossl ssl证书[6]提供了多种形式,包括了 nginx、apache 等。
这里以 nginx 为例,下载下来了 zerossl 证书文件有三个:ca_bundle.crt 和 certificate.crt 以及私钥 key。
合并ssl证书
对于 nginx 服务器,需要将 ca_bundle.crt 和 certificate.crt 合并,方法是打开 certificate.crt,然后将 ca_bundle.crt 的内容复制粘贴放在后面。
安装ssl证书
如果你用的是宝塔面板,可以直接在后台点击安装 ssl 证书,然后将证书和密钥文件分别上传保存即可。
如果你用的是oneinstack 一键包[7]和lnmp 一键安装包[8],则需要打开你的 nginx 配置文件(不是域名 nginx 配置文件),参考以下格式修改,注意要将 ssl 证书的路径改成你自己的:
server { listen 443 ssl http2; #listen [::]:443 ssl http2; server_name _; index index.html index.htm index.php; root /home/wwwroot/default; ssl_certificate /usr/local/nginx/conf/ssl/ipssl/wzfouip.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/ipssl/wzfouip.key; ssl_session_timeout 5m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2 tlsv1.3; ssl_prefer_server_ciphers on; ssl_ciphers \tls13-aes-256-gcm-sha384:tls13-chacha20-poly1305-sha256:tls13-aes-128-gcm-sha256:tls13-aes-128-ccm-8-sha256:tls13-aes-128-ccm-sha256:eecdh chacha20:eecdh chacha20-draft:eecdh aes128:rsa aes128:eecdh aes256:rsa aes256:eecdh 3des:rsa 3des:!md5\; ssl_session_cache builtin:1000 shared:ssl:10m; # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048 ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem; access_log /home/wwwlogs/access.log; }证书安装后,记得执行一次:nginx -t 来检查一下是否有没有语法错误,没有的话直接重启 nginx 完成 ssl 证书安装。打开 ip 地址你就可以看到 ip ssl 证书已经成功安装了。
总结
就目前来看,纯 ip 的zerossl 免费 ssl 证书[9]暂时没有很好的工具来自动续期,github 有开发者使用 golang 写了个工具可以实现更新:https://github.com/tinkernels/zerossl-ip-cert,但是不好操作,所以比较简单的方法就是自己手动申请续期。
较简单的方法就是自己手动申请续期。
引用链接
[1]免费 ssl 证书:?https://wzfou.com/tag/mianfei-ssl/
[3]免费 ssl 证书收集整理汇总:?https://wzfou.com/mianfei-ssl/
[5]zerossl:?https://wzfou.com/tag/zerossl/
[7]oneinstack 一键包:?https://wzfou.com/oneinstack/
[9]zerossl 免费 ssl 证书:?https://wzfou.com/tag/zerossl-mianfei-ssl/
原文链接:https://wzfou.com/zerossl-mianfei-ip-ssl/