1. 什么是 SSL证书?
SSL(Secure Sockets Layer)是用于保护数据传输安全的协议,网站启用 SSL 后,其 URL 前缀会从 http://
变为 https://
,并显示一个锁🔒图标。SSL 的主要作用包括:
- 加密:确保用户与服务器之间的数据传输是加密的,防止被窃取或篡改。
- 身份认证:确保用户访问的网站是合法的,而非伪造网站。
- 数据完整性:防止信息在传输过程中被篡改。
SSL 的升级版为 TLS(Transport Layer Security),但人们仍习惯称其为 SSL。
2. 如何购买 SSL 证书?
购买 SSL 证书的步骤如下:
(1)选择适合的 SSL 证书类型
根据你的需求选择证书类型:
- DV(域名验证型):适合个人博客、小型网站,验证域名所有权即可。
- OV(组织验证型):适合企业网站,需验证企业资质,更可信。
- EV(扩展验证型):适合大型企业和电商网站,支持绿色地址栏显示公司名称。
- Wildcard(通配符证书):保护主域名及其所有子域名。
- Multi-Domain(多域名证书):保护多个不同的域名。
(2)选择证书供应商
常见的 SSL 证书提供商有:
- Comodo(Sectigo)
- DigiCert
- GlobalSign
- GeoTrust
- Let's Encrypt(免费证书)
此外,许多云服务提供商(如阿里云、腾讯云、AWS)也提供 SSL 证书。
(3)购买证书
在供应商官网或第三方代理商处购买 SSL 证书,通常需要以下信息:
- 域名信息(可保护的域名)。
- 公司信息(如购买 OV 或 EV 证书)。
- 联系邮箱,用于接收验证信息。
(4)完成域名验证
根据证书类型完成验证:
- DNS 验证:添加一条指定的 DNS 记录到域名解析中。
- 文件验证:在服务器上上传验证文件。
- 邮箱验证:通过 WHOIS 或指定邮箱完成验证。
3. 如何安装 SSL 证书?
(1)获取证书文件
完成验证后,供应商会提供证书文件(通常是 .crt
或 .pem
文件)和中间证书(Intermediate Certificate)。
(2)安装证书
根据服务器类型,安装方式略有不同:
① Apache
- 找到 Apache 配置文件(通常是
httpd.conf
或ssl.conf
)。 - 添加/修改以下内容:
apache
复制
<VirtualHost *:443> ServerName yourdomain.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /path/to/your_domain.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/ca_bundle.crt </VirtualHost>
- 重启 Apache 服务:
bash
复制
sudo service apache2 restart
② Nginx
- 找到 Nginx 配置文件(如
/etc/nginx/sites-available/default
)。 - 添加/修改以下内容:
nginx
复制
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/your_domain.crt; ssl_certificate_key /path/to/your_private.key; ssl_trusted_certificate /path/to/ca_bundle.crt; location / { root /var/www/html; index index.html index.htm; } }
- 测试配置文件并重启 Nginx:
bash
复制
sudo nginx -t sudo service nginx restart
③ Windows IIS
- 打开 IIS 管理器,选择你的网站。
- 选择“绑定” > 添加
https
绑定。 - 选择证书文件并完成安装。
(3)强制 HTTPS
为了确保所有访问通过 HTTPS:
- 在服务器配置文件中添加 301 重定向规则:
- Apache:
apache
复制
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Nginx:
nginx
复制
server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; }
- Apache:
4. 如何验证 SSL 是否正常工作?
-
浏览器检查:
在浏览器中访问网站,查看是否显示锁🔒图标。 -
在线工具检查:
使用工具如 SSL Labs 检查证书安装是否正确。
5. SSL 证书的使用注意事项
- 定期更新:免费证书(如 Let's Encrypt)通常有效期为 90 天,需定期续期。
- 中间证书安装:确保安装中间证书,避免出现“不可信”的警告。
- 备份私钥:私钥丢失将导致证书不可用。