Skip to content
Go back

使用 ZeroSSL 申请免费的 IP SSL 证书

| 0 Views Edit page

前言

国内服务器绑定域名需要备案,使用小厂的云还需要过白名单,实在麻烦。
我只有使用 HTTPS 访问我的服务器这一个需求,使用免费的 IP SSL 证书就足够了。


申请步骤

一、注册账号

打开 ZeroSSL 官网,点击右上角的 Sign Up 注册账号。
顺便看下各订阅的价格和功能:
各订阅的价格和功能
免费的套餐只能申请 3 个证书,有效期 90 天,不支持通配符域名。
暂时够用了,需要更多的证书再升级吧。

二、申请证书

登录账号后,点击 New Certificate 开始申请证书。
Domain 输入框中填写你的 IP 地址,点击 Next
填入 IP 地址
之后一路下一步即可。

三、认证 IP 所有权

这里需要下载一个验证文件,然后将其放到你的服务器上。
ZeroSSL 通过访问 http://xxx.xxx.xxx.xxx/.well-known/pki-validation/2CFXXXXXXXXXXXXXXXXXXXXX124C3680868.txt 来获取对应的文件以验证你的 IP 所有权。 认证要求

我这里就图方便直接通过 Nginx 来实现了:

apt-get update
apt-get install nginx

安装完成后启动 Nginx:

systemctl start nginx

访问 IP 验证 Nginx 是否启动成功

Nginx 的默认网站目录是 /var/www/html,将验证文件放到这个目录下:

# 创建验证文件目录
mkdir -vp /var/www/html/.well-known/pki-validation
# 将验证文件放到目录下,或是像我一样创建一个文件并将内容复制进去
# 注意应该有三行内容
echo "2CFXXXXXXXXXXXXXXXXXXXXX124C3680868" > /var/www/html/.well-known/pki-validation/2CFXXXXXXXXXXXXXXXXXXXXX124C3680868.txt
echo "xxxxxx.com" >> /var/www/html/.well-known/pki-validation/2CFXXXXXXXXXXXXXXXXXXXXX124C3680868.txt
echo "AAABBBCCCCC" >> /var/www/html/.well-known/pki-validation/2CFXXXXXXXXXXXXXXXXXXXXX124C3680868.txt

之后访问下对应的 URL,看看是否能访问到验证文件。
没问题的话点击 Verify Domain
Verify Domain
通常认证需要数秒,等待一会儿即可。

四、下载证书

选择你的 Web 服务器类型,下载证书:
下载证书
我这里选择了 Default Format,下载后解压得到三个文件:
三个文件

  • ca_bundle.crt:根证书
  • certificate.crt:证书
  • private.key:私钥

五、使用

Stunnel

按照 private.keycertificate.crtca_bundle.crt 的顺序合并成一个文件,注意顺序不能错!

cat private.key certificate.crt ca_bundle.crt > /root/ssl/stunnel.pem

stunnel 配置文件添加证书路径:

client = no
[squid]
accept = 443
connect = 127.0.0.1:8910
cert = /root/ssl/stunnel.pem

结束。


Edit page