或
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
安全不是选项,而是标配。 在当今网络环境下,部署 HTTPS 已不仅是提升 SEO 或增强用户信任的加分项 —— 它是保护数据隐私、防范中间人攻击、满足合规要求的基础防线,Apache 作为全球占有率最高的 Web 服务器之一,其灵活强大的 SSL/TLS 配置能力,让任何规模的网站都能轻松实现加密通信,本文将手把手带您从零完成 SSL 证书部署,涵盖准备、申请、配置、测试、优化与自动化全流程,助您构建坚如磐石的安全站点。
✅ 第一步:部署前必备条件
在动手之前,请确保您的环境已满足以下基础要求:
- 操作系统支持:Linux(推荐 Ubuntu 22.04 / CentOS Stream 9)或 Windows Server(需 WAMP/LAMP 环境),本文以主流 Linux 发行版为例。
- Apache 正常运行:
执行命令验证版本与状态:apache2 -v # Ubuntu/Debian httpd -v # CentOS/RHEL systemctl status apache2 # 或 httpd
- 域名已绑定服务器 IP:通过
dig yourdomain.com或nslookup验证解析是否生效。 - SSL 证书文件齐备:通常包含三类文件:
- 主证书文件(
.crt或.pem) - 私钥文件(
.key,务必保密) - 中间证书链(
chain.pem或.ca-bundle)
- 主证书文件(
- 开放 443 端口:检查防火墙/云平台安全组是否放行 HTTPS 流量:
sudo ufw allow 443/tcp # Ubuntu sudo firewall-cmd --add-port=443/tcp --permanent && firewall-cmd --reload # CentOS
📥 第二步:获取 SSL 证书 — 免费 or 商业?
🔐 推荐方案一:Let’s Encrypt(免费 + 自动化)
适合个人博客、中小项目,支持自动续签,兼容性极佳。
# Ubuntu/Debian sudo apt update && sudo apt install certbot python3-certbot-apache # CentOS/RHEL sudo yum install epel-release sudo yum install certbot python3-certbot-apache # 自动申请并配置(Certbot 会智能修改 Apache 配置) sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
✅ 优势:一键部署、自动重定向 HTTP→HTTPS、自动续期(默认每 60 天触发)
⚠️ 注意:首次运行需交互式确认邮箱与协议,建议添加--non-interactive --agree-tos -m admin@yourdomain.com实现静默部署
💼 方案二:商业 CA 证书(企业级保障)
适用于金融、电商、政府等高敏感场景,提供 EV 证书、保险赔付、人工审核等增值服务。
常见品牌:DigiCert、Sectigo(原 Comodo)、GeoTrust、GlobalSign。
📌 获取后,请将证书文件上传至服务器,推荐存放路径:
- 证书:
/etc/ssl/certs/- 私钥:
/etc/ssl/private/(权限设为600,属主root)- 中间链:
/etc/ssl/certs/
🔧 第三步:启用 Apache SSL 模块
多数系统默认未激活 SSL 支持,需手动开启:
# Ubuntu/Debian sudo a2enmod ssl headers rewrite sudo systemctl restart apache2 # CentOS/RHEL sudo yum install mod_ssl mod_headers mod_rewrite sudo systemctl restart httpd # 验证模块加载成功 apachectl -M | grep -E "(ssl|headers|rewrite)"
应输出类似:
ssl_module (shared)
headers_module (shared)
rewrite_module (shared)
💡 提示:
headers用于设置 HSTS,rewrite用于重定向,均为安全增强必备模块
🖋️ 第四步:配置 HTTPS 虚拟主机(核心步骤)
编辑站点配置文件(路径因系统而异):
- Ubuntu:
/etc/apache2/sites-available/your-site.conf - CentOS:
/etc/httpd/conf.d/your-site.conf
▶️ 添加 HTTPS 监听段(端口 443)
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/html
# 启用 SSL 引擎
SSLEngine on
# 证书路径(请替换为实际路径)
SSLCertificateFile /etc/ssl/certs/yourdomain.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
SSLCertificateChainFile /etc/ssl/certs/yourdomain.ca-bundle
# 🛡️ 安全强化配置(推荐)
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
SSLHonorCipherOrder on
SSLCompression off
# 设置 HSTS 头(强制浏览器只走 HTTPS,有效期 2 年)
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
</VirtualHost>
📝 注:
- 若无中间证书,可省略
SSLCertificateChainFile,但可能导致部分客户端校验失败。- 密码套件推荐使用 Mozilla SSL Config Generator 的“Intermediate”或“Modern”配置。
🔄 第五步:强制 HTTP → HTTPS 重定向(SEO & 安全双优)
在 80 端口虚拟主机中添加跳转规则:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Redirect permanent / https://yourdomain.com/
# 或使用 Rewrite(更灵活)
# RewriteEngine On
# RewriteCond %{HTTPS} off
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>
🧪 第六步:重启服务 & 验证部署
-
语法检查(避免配置错误导致服务崩溃):
sudo apachectl configtest # 应返回:Syntax OK
-
重启 Apache:
sudo systemctl restart apache2 # Ubuntu sudo systemctl restart httpd # CentOS
-
多维度验证:
- 🌐 浏览器访问
https://yourdomain.com,确认锁形图标亮起 - 📊 使用 SSL Labs 测试工具 —— 目标评分:A 或 A+
- 📱 移动端 Safari/Chrome 同样测试,确保无混合内容警告
- 🛠️ 命令行验证:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
- 🌐 浏览器访问
⏱️ 第七步:设置自动续期(Let’s Encrypt 必做)
证书过期 = 网站宕机 + 用户流失,Let’s Encrypt 证书仅 90 天有效,必须自动化!
# 测试续期流程(不会实际执行) sudo certbot renew --dry-run # 添加定时任务(每月 1 日凌晨 3 点自动续签) sudo crontab -e
添加如下行:
0 3 1 * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload apache2"
✅
--post-hook会在续期成功后自动重载 Apache,无需重启服务


