当前位置:首页 > 行业动态 > 正文

https如何申请ssl证书

申请SSL证书需生成密钥对,提交CSR至CA机构,完成域名验证

SSL证书基础概念

SSL(Secure Sockets Layer)证书是用于在Web服务器与浏览器之间建立加密链接的数字证书,主要作用包括:

  • 数据加密:防止信息被窃取或改动
  • 身份验证:证明网站真实身份
  • 提升信任:浏览器地址栏显示安全锁标志

SSL证书类型选择

证书类型 验证等级 适用场景 特点
DV SSL(域名验证) 仅验证域名所有权 个人博客/小型网站 10分钟-数小时签发
OV SSL(组织验证) 验证企业身份 企业官网/电商平台 1-3工作日签发,显示企业信息
EV SSL(扩展验证) 严格企业验证 金融/政务网站 1-5工作日签发,绿色地址栏

申请流程详解

生成密钥与证书签名请求(CSR)

# 生成私钥(2048位)
openssl genrsa -out private.key 2048
# 生成CSR(需填写机构信息)
openssl req -new -key private.key -out request.csr

选择证书颁发机构(CA)

CA类型 代表机构 特点
免费 Let’s Encrypt 90天有效期,自动化续签
付费 DigiCert/GlobalSign 最长3年有效期,支持OCSP

域名验证方式

  • DNS验证:添加TXT记录(例:_acme-challenge.example.com → 验证值)
  • 文件验证:上传指定文件到网站根目录
  • 邮箱验证:点击CA发送的验证邮件链接

安装证书

Apache示例

<VirtualHost :443>
    SSLEngine on
    SSLCertificateFile /path/to/cert.pem
    SSLCertificateKeyFile /path/to/private.key
    SSLCertificateChainFile /path/to/chain.pem
    ServerName example.com
</VirtualHost>

Nginx示例

server {
    listen 443 ssl;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/private.key;
    ssl_trusted_certificate /path/to/chain.pem;
}

常见问题处理

浏览器仍显示不安全

  • 检查证书链是否完整
  • 清除浏览器缓存
  • 确认中间证书已安装

证书过期处理

  • 提前60天续订(Let’s Encrypt需重新签发)
  • 自动续期脚本示例(Linux Crontab):
    0 0,12    /usr/bin/certbot renew --quiet

相关问题与解答

Q1:SSL和TLS有什么区别?
A1:TLS(Transport Layer Security)是SSL的升级版,当前通用版本为TLS 1.2/1.3,SSL证书实际指支持TLS协议的数字证书,浏览器已弃用SSL协议标识。

Q2:如何实现全站HTTPS强制跳转?
A2:通过服务器配置301重定向:

  • Apache:Redirect permanent / https://example.com
  • Nginx:return 301 https://$host$request_uri;
0