免费ZeroSSL IP SSL 证书申请
date
Mar 16, 2024
slug
2024-03-16-001
status
Published
tags
Website
summary
type
Post
password
category
背景
因为某些众所周知的原因,国内使用域名访问自己的服务器往往非常困难,而使用IP可以直接访问,但是没有SSL的保护。
- 大多数面对 IP 的 SSL 证书都是收费的。而 zeroSSL 提供 免费 SSL 证书 是支持纯 IP 颁发的。
- 申请到证书后部署到 Nginx 服务器上
- 需要的环境:
- 一台有公网 IP 的服务器
- Nginx
- 需要外网访问环境
申请证书
- 注册账号,登录主页


- 填入公网 IP 地址

.jpg?table=block&id=35ac7724-8822-4ecf-908a-aedaf70be843&cache=v2)
- 选择 90天 免费 SSL

.jpg?table=block&id=e6dcdace-06b6-42cb-a13a-4480311f87ac&cache=v2)
- 自动生成 CSR

.jpg?table=block&id=b2fde9f0-1097-468b-9f48-4147d47e78d6&cache=v2)
- 直接下一步

.jpg?table=block&id=c6ebad08-e6d5-464f-872f-804d74158810&cache=v2)
- 验证阶段,我们的IP无法进行 DNS,选择文件验证方式

.jpg?table=block&id=02dcf992-0c95-447b-9afe-06e026d0656f&cache=v2)
- 在 80 端口访问的站点根目录建立要求的文件

- 开始认证域名(IP)

.jpg?table=block&id=876e300d-645d-424b-99b0-6546409cde51&cache=v2)
- 验证成功后会收到祝贺邮件,之后下载证书,选择和我们服务器类型相同的

.jpg?table=block&id=2f3e82f5-803d-4ed0-b22c-4a66a1822264&cache=v2)
证书安装
- 下载到的证书文件有三个

.jpg?table=block&id=5ed25a45-54cf-43ae-8216-ad04d334a3d7&cache=v2)
- 在宝塔面板中安装证书
- 秘钥(key) 为 private.key 文件的内容
- 证书(PEM格式) 为 certificate.crt + ca_bundle.crt
- 方法是打开 certificate.crt,然后将 ca_bundle.crt 的内容复制粘贴放在后面。

.jpg?table=block&id=6a7c5023-1857-4510-94a2-1b6ab07d1eb1&cache=v2)
证书测试
- 随后可以成功使用 https 协议登录

.jpg?table=block&id=6f1f7be9-ecc9-4d76-a6a2-069b3441bf7d&cache=v2)
- 也可以在 ZeroSSL 中测试是否安装成功

.jpg?table=block&id=8e65623c-0292-4f53-a0ed-688f4a2ba9c9&cache=v2)
续期
- 免费证书有效时间为三个月,目前没有很好的工具用于续期
- Github 有开发者使用 golang 写了个工具可以实现更新:https://github.com/tinkernels/zerossl-ip-cert,但是不好操作
- 每个账号可以申请三个免费SSL证书
- 在即将到期之际(30天左右)也可以手动申请续期,这也是目前最好的续命方法