HTTPS SSL证书部署指南
SSL证书类型选择
类型 | 验证方式 | 适用场景 | 特点 |
---|---|---|---|
DV SSL(域名验证) | 仅验证域名所有权 | 个人博客、小型网站 | 快速颁发(分钟级),仅显示基础安全信息 |
OV SSL(组织验证) | 验证企业身份+域名 | 企业官网、电商平台 | 1-3个工作日颁发,显示企业名称 |
EV SSL(扩展验证) | 严格企业身份验证 | 金融、政府类网站 | 浏览器地址栏变绿,增强信任感 |
SSL证书申请流程
- 选择证书颁发机构(CA)
主流CA:Let’s Encrypt(免费)、DigiCert、GlobalSign、酷盾安全SSL等。
openssl genrsa -out privkey.pem 2048 # 生成私钥
openssl req -new -key privkey.pem -out csr.pem # 生成CSR - CSR示例内容:
-----BEGIN CERTIFICATE REQUEST----- MIIC...(省略) -----END CERTIFICATE REQUEST-----
- 提交验证并获取证书
- 通过DNS解析、邮箱验证或文件上传完成域名所有权验证。
- CA颁发证书文件(
.crt
或.pem
格式),包含:- 服务器证书(public.crt)
- 中间证书(intermediate.crt)
- 根证书(已预装在浏览器中,通常无需单独配置)
服务器配置示例
服务器类型 | 配置文件路径 | 关键指令 |
---|---|---|
Apache | /etc/httpd/conf/httpd.conf |
“`apache |
SSLEngine on
SSLCertificateFile /path/to/public.crt
SSLCertificateKeyFile /path/to/privkey.pem
SSLCertificateChainFile /path/to/intermediate.crt
``` |
| Nginx | /etc/nginx/nginx.conf
| “`nginx
server {
listen 443 ssl;
ssl_certificate /path/to/public.crt;
ssl_certificate_key /path/to/privkey.pem;
ssl_trusted_certificate /path/to/intermediate.crt;
}
| IIS | IIS管理器 → 站点绑定 | 通过“服务器证书”导入`.pfx`文件(需合并私钥和证书链)。 |
---
# 四、验证与测试
1. 浏览器检查
访问`https://yourdomain.com`,查看地址栏是否显示“https://”和锁图标。
点击锁图标 → “证书信息” → 确认证书颁发者和有效期。
2. 在线工具检测
使用[SSL Labs](https://www.ssllabs.com/ssltest/)或[Qualys SSL](https://www.qualys.com/ssl-labs/)检查评分和配置漏洞。
3. 强制HSTS(可选)
在服务器配置中添加`Strict-Transport-Security`头:
```apache
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
常见问题与解决
问题 | 原因 | 解决方案 |
---|---|---|
浏览器提示“不安全” | 证书未生效/已过期 | 检查证书安装路径、私钥权限(chmod 600)、系统时间是否正确。 |
警告 | 页面加载HTTP资源(如图片、脚本) | 替换所有外部链接为HTTPS,或本地存储资源。 |
Nginx配置后500错误 | 语法错误或文件路径错误 | 使用nginx -t 检查配置,确保证书路径正确。 |
相关问题与解答
Q1:SSL证书过期了怎么办?
A1:
<VirtualHost :80>
ServerName yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
return 301 https://$host$request_uri;
到