IP SSL证书申请完整流程:从准备到部署的详细步骤

a
admin
作者
2026-08-13
发布日期
约 15 分钟
阅读时间

IP SSL证书申请完整流程:从准备到部署的详细步骤

很多人以为IP SSL证书申请很复杂,实际上整个流程清晰,关键是要满足前置条件。这篇把IP SSL证书申请的完整流程拆解成7个步骤,从准备到部署全覆盖。如果你已经了解IP证书的基础知识,可以直接按这个流程操作。

流程概览

IP SSL证书申请的7个步骤

  1. 确认IP符合申请条件
  2. 准备Web服务器环境
  3. 生成CSR文件
  4. 提交证书申请
  5. 配置验证文件
  6. 触发CA验证并下载证书
  7. 部署证书到服务器

步骤一:确认IP符合申请条件

必须满足的条件

条件1:必须是公网IP

公网IP的判断标准:

  • 可以从互联网直接访问
  • 不在私有IP段(10.x、172.16-31.x、192.168.x、127.x)
  • 服务器有公网IP地址

检查命令

# 查看服务器公网IP
curl ifconfig.me
# 或
curl ip.sb

条件2:IP必须支持海外访问

这是最关键的条件,也是申请失败的第一大原因。详细排查方法参考 IP证书申请失败原因

测试方法

条件3:80端口或443端口可访问

CA通过HTTP(80端口)或HTTPS(443端口)验证IP所有权。

检查命令

# 检查80端口是否监听
netstat -tlnp | grep :80

# 检查防火墙
iptables -L -n | grep :80

云服务器还需要在云控制台的安全组放行80端口

不符合条件怎么办

  • 内网IP:申请不了IP证书,建议用域名+内网DNS
  • 海外访问不通:联系机房放行海外IP段
  • 80端口被屏蔽:开放80端口或联系运营商

步骤二:准备Web服务器环境

安装Web服务器

Nginx(推荐):

# Ubuntu/Debian
apt update && apt install nginx -y

# CentOS/RHEL
yum install nginx -y
systemctl start nginx
systemctl enable nginx

Apache

# Ubuntu/Debian
apt update && apt install apache2 -y

# CentOS/RHEL
yum install httpd -y
systemctl start httpd
systemctl enable httpd

配置80端口的默认站点

Nginx配置

server {
    listen 80 default_server;
    server_name _;
    root /var/www/html;
    index index.html;

    location /.well-known/pki-validation/ {
        try_files $uri =404;
    }
}

Apache配置

<VirtualHost *:80>
    DocumentRoot /var/www/html
    <Directory "/var/www/html/.well-known/pki-validation/">
        Require all granted
    </Directory>
</VirtualHost>

测试访问

# 测试80端口是否正常
curl http://your-ip/

应该返回默认页面内容。

步骤三:生成CSR文件

CSR(Certificate Signing Request) 是证书签名请求文件,包含公钥和申请信息。

方式一:在线生成CSR(推荐)

访问 CSR在线生成工具

  1. 填写通用名CN:输入IP地址(如 39.97.237.174
  2. 其他字段可留空(IP证书是DV证书,不需要企业信息)
  3. 选择密钥长度:RSA 2048位
  4. SAN字段:可以填多个IP,逗号分隔
  5. 点击”生成CSR和私钥”
  6. 复制CSR内容和私钥内容,分别保存为 server.csrprivate.key

重要:私钥必须妥善保管,丢失无法补发。

方式二:用OpenSSL生成CSR

# 生成私钥
openssl genrsa -out private.key 2048

# 生成CSR
openssl req -new -key private.key -out server.csr -subj "/CN=39.97.237.174"

多IP的CSR生成

# 创建配置文件
cat > san.cnf << EOF
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no

[req_distinguished_name]
CN = 39.97.237.174

[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
IP.1 = 39.97.237.174
IP.2 = 39.97.237.175
EOF

# 生成CSR
openssl req -new -key private.key -out server.csr -config san.cnf

验证CSR

openssl req -text -noout -verify -in server.csr

应该显示你的IP地址和公钥信息。

步骤四:提交证书申请

在sslmianfei.com提交申请

  1. 访问 sslmianfei.com
  2. 在首页输入框输入IP地址
  3. 系统自动识别为IP证书
  4. 点击”立即申请”

上传CSR

方式一:粘贴CSR内容

把生成的CSR内容粘贴到输入框。

方式二:自动生成CSR

sslmianfei.com也支持自动生成CSR,但建议自己生成CSR并保管私钥。

选择验证方式

  • HTTP验证(推荐):通过80端口验证
  • HTTPS验证:通过443端口验证(需要已有证书,不推荐)

步骤五:配置验证文件

获取验证信息

提交申请后,系统返回:

  • 验证文件路径/.well-known/pki-validation/
  • 验证文件名:随机字符串(如 A8B3D9E.txt
  • 验证文件内容:验证码(如 20260827xxx...

创建验证文件

# 创建目录
mkdir -p /var/www/html/.well-known/pki-validation/

# 创建验证文件
echo "20260827xxx..." > /var/www/html/.well-known/pki-validation/A8B3D9E.txt

# 设置权限
chmod 644 /var/www/html/.well-known/pki-validation/A8B3D9E.txt

验证文件可访问

本地测试

curl http://your-ip/.well-known/pki-validation/A8B3D9E.txt

应该返回验证文件的内容。

海外访问测试(关键):

check-host.net 测试海外节点能否访问。

步骤六:触发CA验证并下载证书

触发验证

  1. 回到 sslmianfei.com 申请页面
  2. 点击”验证解析”按钮
  3. 系统通知CA服务器访问验证文件
  4. 等待验证结果

验证结果处理

结果1:验证成功,证书已签发

  • 显示”解析验证成功,证书已签发”
  • 1.5秒后自动跳转到下载页面
  • 可以下载证书文件

结果2:验证成功,证书审核中

  • 显示”解析验证成功”(仍在审核)
  • 点击”获取证书”按钮重新触发签发
  • 等待几分钟再试

结果3:验证失败

  • 显示”解析验证未通过”
  • 排查原因(参考 IP证书申请失败原因
  • 常见原因:海外访问不通、80端口未开放、验证文件路径错误

下载证书文件

证书签发后下载:

  • certificate.crt:服务器证书
  • ca-bundle.crt:中间证书
  • private.key:私钥(如果自己生成的CSR,这个文件就是你之前生成的私钥)

合并为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;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;

    root /var/www/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

重启Nginx

nginx -t
systemctl reload nginx

Apache部署

<VirtualHost *:443>
    ServerName 39.97.237.174
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/fullchain.crt
    SSLCertificateKeyFile /etc/apache2/ssl/private.key
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
</VirtualHost>

重启Apache

apachectl configtest
systemctl restart apache2

验证部署

浏览器访问

访问 https://your-ip,应该显示绿色小锁。

在线检测

SSL证书配置检测工具 检测:

  • 证书链是否完整
  • TLS版本是否安全
  • 证书品牌和有效期
  • 安全响应头配置

证书续期

免费IP证书90天有效期,到期前需要续期

手动续期

到期前1-2周重新走一遍上述流程,申请新证书替换旧证书。

自动续期(acme.sh)

# 安装acme.sh
curl https://get.acme.sh | sh

# 申请证书(HTTP验证,standalone模式)
acme.sh --issue -d 39.97.237.174 --standalone

# 安装证书
acme.sh --install-cert -d 39.97.237.174 \
    --key-file /etc/nginx/ssl/your-ip.key \
    --fullchain-file /etc/nginx/ssl/your-ip.crt \
    --reloadcmd "systemctl reload nginx"

acme.sh自动创建cron任务,到期前自动续期,完全无人值守。

常见问题

问题一:验证文件本地能访问,但CA验证失败

原因:IP不支持海外访问。

解决:参考 IP证书申请失败原因 排查海外访问问题。

问题二:证书部署后浏览器报”证书不受信任”

原因:证书链不完整。

解决:使用fullchain.crt(包含中间证书),不要只部署服务器证书。

问题三:多个IP能用一张证书吗

可以。申请多IP证书,在CSR的SAN字段添加多个IP:

[alt_names]
IP.1 = 39.97.237.174
IP.2 = 39.97.237.175
IP.3 = 39.97.237.176

问题四:IP变了怎么办

IP证书绑定的是IP,IP变了证书就失效了。需要用新IP重新申请证书。

问题五:能用自签名证书代替

不推荐用于生产环境。自签名证书浏览器会报警告,用户体验比HTTP还差。测试环境可以用 在线测试证书生成工具 生成自签名证书。

总结

IP SSL证书申请的完整流程

  1. 确认条件:公网IP、海外访问、80端口开放
  2. 准备环境:安装Web服务器,配置80端口默认站点
  3. 生成CSR:用 CSR生成工具 或OpenSSL
  4. 提交申请:在 sslmianfei.com 提交
  5. 配置验证文件:创建 .well-known/pki-validation/验证文件
  6. 触发验证:点击”验证解析”,等待签发
  7. 部署证书:下载证书,配置到Nginx或Apache

核心注意事项

  • IP必须支持海外访问(最关键)
  • 必须用fullchain(包含中间证书)
  • 90天有效期,建议用acme.sh自动续期
  • 私钥必须妥善保管

配套工具

本文到此结束