IP地址SSL证书免费申请指南:3步拿到免费IP证书
IP地址SSL证书免费申请指南:3步拿到免费IP证书
很多人以为SSL证书只能给域名用,其实IP地址也能申请SSL证书,而且有免费渠道。ZeroSSL是少数支持免费IP证书的CA机构之一,在 sslmianfei.com 就可以直接申请。这篇把IP地址SSL证书的免费申请流程讲清楚。
IP地址SSL证书的背景
哪些CA支持IP证书
支持IP证书的CA机构:
- •ZeroSSL:支持免费IP证书(90天DV)
- •DigiCert:支持付费IP证书(1年DV/OV)
- •Sectigo:支持付费IP证书(1年DV/OV)
- •GlobalSign:支持付费IP证书(1年DV/OV)
不支持IP证书的CA:
- •Let’s Encrypt:不支持IP证书
- •Google Trust Services:不支持IP证书
- •Buypass:不支持IP证书
免费IP证书的关键限制
- •必须是公网IP:内网IP大部分CA不支持
- •只支持DV类型:免费IP证书都是DV证书,不显示企业信息
- •有效期90天:需要定期续期
- •HTTP/HTTPS验证:不能用DNS验证(IP没有DNS记录)
IP证书申请前置条件
条件一:必须是公网IP
公网IP的特征:
- •可以从互联网直接访问
- •不在私有IP段内
- •服务器有公网IP地址
私有IP段(不支持):
- •10.0.0.0 – 10.255.255.255
- •172.16.0.0 – 172.31.255.255
- •192.168.0.0 – 192.168.255.255
- •127.0.0.0 – 127.255.255.255(环回地址)
条件二:80端口或443端口可访问
CA验证需要通过HTTP或HTTPS访问你的IP:
- •HTTP验证:CA访问
http://IP/.well-known/pki-validation/file.txt - •HTTPS验证:CA访问
https://IP/.well-known/pki-validation/file.txt
要求:
- •80或443端口必须对外开放
- •服务器防火墙放行CA服务器访问
- •最关键:IP必须支持海外访问(CA验证服务器在海外)
海外访问是IP证书申请失败的第一大原因,详细排查方法参考 IP证书申请失败原因。
条件三:IP归属明确
CA会验证IP的归属:
- •IP必须在申请人名下或申请人有使用权
- •部分CA会通过WHOIS查询IP归属
- •云服务器IP通常归属云厂商,但申请人有使用权
第一步:在sslmianfei.com提交申请
操作步骤
- 访问 sslmianfei.com 首页
- 在域名输入框输入IP地址(如
39.97.237.174) - 系统自动识别为IP证书
- 点击”立即申请”
系统会自动识别IP类型:
- •输入IP → 自动选择IP证书
- •输入域名 → 自动选择域名证书
- •输入通配符 → 自动选择通配符证书
选择验证方式
IP证书只支持HTTP或HTTPS验证:
- •HTTP验证:在网站根目录放置验证文件,CA通过80端口访问
- •HTTPS验证:在网站根目录放置验证文件,CA通过443端口访问
推荐用HTTP验证,更简单。HTTPS验证需要先有一张证书(鸡生蛋问题),不太实用。
第二步:配置验证文件
获取验证信息
提交申请后,系统会返回验证信息:
- •验证文件路径:
/.well-known/pki-validation/ - •验证文件名:一串随机字符(如
abc123.txt) - •验证文件内容:一串验证码(如
xyz789...) - •验证URL:
http://IP/.well-known/pki-validation/abc123.txt
在服务器上创建验证文件
Nginx配置:
server {
listen 80;
server_name 39.97.237.174;
root /var/www/html;
location /.well-known/pki-validation/ {
try_files $uri =404;
}
}
创建验证文件:
mkdir -p /var/www/html/.well-known/pki-validation/
echo "xyz789..." > /var/www/html/.well-known/pki-validation/abc123.txt
Apache配置:
<VirtualHost *:80>
ServerName 39.97.237.174
DocumentRoot /var/www/html
<Directory "/var/www/html/.well-known/pki-validation/">
Require all granted
</Directory>
</VirtualHost>
验证文件可访问
用curl测试验证文件是否可访问:
curl http://39.97.237.174/.well-known/pki-validation/abc123.txt
应该返回验证文件的内容。如果返回404或访问失败,需要检查Web服务器配置。
第三步:触发CA验证
在sslmianfei.com触发验证
- 回到 sslmianfei.com 的申请页面
- 点击”验证解析”按钮
- 系统会通知CA服务器访问你的验证文件
- 等待CA验证结果
验证结果
验证成功:
- •显示”解析验证成功,证书已签发”
- •1.5秒后自动跳转到下载页面
- •可以下载证书和私钥
验证失败:
- •显示”解析验证未通过”
- •常见原因:验证文件无法访问、IP不支持海外访问、80端口未开放
验证成功但证书未签发:
- •显示”解析验证成功”(还在审核中)
- •点击”获取证书”按钮重新触发签发
第四步:下载证书并部署
下载证书文件
证书签发后,下载:
- •
certificate.crt(服务器证书) - •
ca-bundle.crt(中间证书) - •
private.key(私钥)
建议合并为fullchain:
cat certificate.crt ca-bundle.crt > fullchain.crt
部署到Nginx
server {
listen 443 ssl http2;
server_name 39.97.237.174;
ssl_certificate /etc/nginx/ssl/fullchain.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
重启Nginx:
nginx -t && systemctl reload nginx
验证部署
浏览器访问 https://39.97.237.174,应该显示绿色小锁。
用 SSL证书配置检测工具 在线检测证书配置。
IP证书申请常见失败原因
原因一:IP不支持海外访问(最关键)
问题:CA验证服务器在海外,IP不支持海外访问导致验证失败。
解决方法:
- •用 check-host.net 测试IP的海外可达性
- •检查服务器机房是否屏蔽了海外IP
- •临时关闭防火墙测试
- •联系机房放行海外访问
详细排查方法参考 IP证书申请失败原因。
原因二:80端口未开放
问题:CA通过80端口访问验证文件,端口未开放导致失败。
解决方法:
# 检查80端口是否监听
netstat -tlnp | grep :80
# 检查防火墙规则
iptables -L -n | grep :80
# 开放80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
云服务器还需要在云控制台的安全组放行80端口。
原因三:验证文件路径错误
问题:验证文件路径不对,CA访问返回404。
解决方法:
- •确认文件路径是
/.well-known/pki-validation/文件名 - •用curl本地测试:
curl http://IP/.well-known/pki-validation/文件名 - •检查Web服务器root配置
原因四:内网IP不支持
问题:使用内网IP申请,CA无法从公网访问。
解决方法:
- •必须使用公网IP
- •如果只有内网IP,需要通过反向代理或VPN暴露到公网
原因五:IP归属不明
问题:CA无法验证IP归属。
解决方法:
- •确认IP在你的名下或你有使用权
- •提供IP归属证明(如云服务器购买凭证)
IP证书续期
免费IP证书90天有效期,到期前需要续期。
手动续期
- 在 sslmianfei.com 重新申请
- 重复上述流程
- 下载新证书替换旧证书
自动续期(acme.sh)
使用acme.sh可以自动申请和续期IP证书:
# 安装acme.sh
curl https://get.acme.sh | sh
# 申请IP证书(HTTP验证)
acme.sh --issue -d 39.97.237.174 --standalone
# 安装证书到Nginx
acme.sh --install-cert -d 39.97.237.174 \
--key-file /etc/nginx/ssl/yourdomain.key \
--fullchain-file /etc/nginx/ssl/yourdomain.crt \
--reloadcmd "systemctl reload nginx"
acme.sh会自动创建cron定时任务,到期前自动续期。
总结
IP地址SSL证书免费申请流程:
- 确认IP是公网IP且支持海外访问
- 在 sslmianfei.com 输入IP地址提交申请
- 在服务器配置验证文件(HTTP验证)
- 触发CA验证
- 验证通过后下载证书
- 部署到服务器
- 用 SSL检测工具 验证配置
核心注意事项:
- •必须是公网IP,内网IP不支持
- •IP必须支持海外访问(最关键)
- •80端口必须开放
- •免费IP证书90天有效期,需要定期续期
- •推荐用acme.sh自动续期
适用场景:
- •服务器没有域名
- •内网IP对外提供服务
- •API服务通过IP直连
- •测试环境临时HTTPS
如果你的IP证书反复申请失败,建议先阅读 IP地址申请免费SSL证书无法签发的常见原因,确认IP支持海外访问、80端口开放等关键条件。