
SSL证书能够加密网站与访客之间的连接,将 http:// 升级为安全的 https://。现代浏览器会在 HTTPS 网站地址栏显示锁形图标,并在网站不安全时向访客发出警告。本教程将带您了解如何在 DirectAdmin 中安装免费的 Let's Encrypt SSL 或付费SSL证书,以及如何配置强制 HTTPS 并修复混合内容问题。
找到 SSL 证书管理页面
登录您的 DirectAdmin 控制面板,进入 高级功能 → SSL 证书。此页面用于管理账户下所有域名的SSL证书。您将看到安装免费证书、上传付费证书以及配置 HTTPS 设置的选项或标签页。
安装免费 Let's Encrypt SSL 证书
Let's Encrypt 是受所有主流浏览器信任的免费自动化证书颁发机构。对大多数网站而言,这是最简便的选择,证书每 90 天自动续期。
分步操作:Let's Encrypt
- 在 SSL 证书页面,选择 Free & automatic certificate from Let's Encrypt(免费自动证书) 选项。
- 确保您域名的 A 记录已指向该服务器的 IP——Let's Encrypt 通过 HTTP 验证域名所有权,因此 DNS 必须先设置正确。
- 同时勾选
yourdomain.com和www.yourdomain.com,以覆盖两种访问方式。 - 点击 保存(Save)。DirectAdmin 将在几秒内自动申请并安装证书。
- 安装成功后,页面会确认证书已激活并显示到期日期。
自动续期:DirectAdmin 上的 Let's Encrypt 证书会在到期前自动续期。只要域名持续指向该服务器,您无需进行任何操作即可保持证书有效。
安装付费 SSL 证书
如果您购买了商业SSL证书(例如来自 Comodo、DigiCert 或 AsiaGB),则需要通过 CSR / 证书 / 私钥方式手动安装。
第一步:生成 CSR
- 在 SSL 证书页面,选择 Create a Certificate Request(CSR)(创建证书请求)。
- 填写组织信息:通用名称(您的域名)、国家、省份、组织名称。
- 点击 创建(Create)。DirectAdmin 将生成 CSR 和私钥——请妥善保存两者。
第二步:向 SSL 供应商提交 CSR
将 CSR 文本复制并粘贴到 SSL 供应商网站的表单中,完成证书验证和签发流程。供应商将通过电子邮件发送已签发的证书文件。
第三步:安装证书
- 返回 DirectAdmin 的 SSL 证书页面。
- 选择 Paste a pre-generated certificate and key(粘贴预生成的证书和密钥)。
- 将您的 证书(Certificate) 和 私钥(Private Key) 分别粘贴到对应字段。
- 如果供应商提供了 CA Bundle(中间证书),请将其粘贴到 CA 证书字段。
- 点击 保存(Save) 完成安装。
启用强制 HTTPS
安装SSL证书后,您应将所有 HTTP 流量重定向到 HTTPS,确保每位访客都使用安全连接。DirectAdmin 让这一步非常简便:
- 在 SSL 证书页面,找到 Force SSL with https redirect(强制 SSL 及 HTTPS 重定向) 复选框或开关。
- 启用后点击 保存(Save)。
您也可以在 .htaccess 文件中(适用于 Apache 服务器)手动添加重定向规则:
- 打开文件管理器,导航至
public_html/.htaccess。 - 在文件顶部添加以下代码行:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
修复混合内容错误
切换到 HTTPS 后,浏览器可能会显示警告或断锁图标,原因是页面中某些资源(图片、脚本、样式表)仍通过 http:// 加载。这种情况称为混合内容错误,会导致 HTTPS 完整锁形图标无法正常显示。
如何修复混合内容
- WordPress:使用 Better Search Replace 等插件,将数据库中所有
http://yourdomain.com替换为https://yourdomain.com。同时在 设置 → 常规 中更新站点 URL 和主页 URL。 - 静态 HTML 网站:搜索所有 HTML、CSS 和 JS 文件中的
http://链接,将其更新为https://。 - 外部资源:如果某个外部图片或脚本不支持 HTTPS,可选择将其托管到本地或寻找支持 HTTPS 的替代方案。
- 使用浏览器工具检查:打开浏览器开发者工具(F12),查看控制台(Console)选项卡——混合内容警告会精确显示导致问题的 URL。
DirectAdmin 支持的 SSL 证书类型
DirectAdmin 支持多种SSL证书类型,从免费自动证书到高级付费选项均有覆盖。选择哪种类型取决于您网站的用途以及需要向访客建立的信任级别。
Let's Encrypt — 适用于所有网站的免费 SSL
Let's Encrypt 是一家非营利性证书颁发机构,提供免费的域名验证(DV)SSL证书,受所有主流浏览器信任,是大多数网站最便捷的选择:
- 完全免费,无需付费
- 直接在 DirectAdmin SSL 证书页面上,几秒内即可完成安装
- 单张证书同时覆盖
yourdomain.com和www.yourdomain.com - 通过 DirectAdmin 的 AutoSSL 功能每 90 天自动续期
- 适合博客、企业网站、作品集等需要 HTTPS 但不想持续付费的网站
- 证书中不显示组织信息——仅验证域名
付费 SSL 证书——Comodo、RapidSSL 及其他
来自 Comodo、RapidSSL 和 DigiCert 等供应商的商业SSL证书(AsiaGB 亦有提供)支持多种验证级别和附加功能:
- DV(域名验证):最基础的付费选项——仅验证域名所有权。与 Let's Encrypt 类似,但可能包含赔偿保障及证书颁发机构的额外支持。
- OV(组织验证):证书颁发机构同时验证域名和您组织的法律身份,组织名称会显示在证书详情中,为企业网站增加可信度。
- EV(扩展验证):最严格的验证流程——需要提交文件、法律审查和电话核实。推荐银行、支付处理商及处理敏感数据的电商网站使用。
- 通配符 SSL:用一张证书覆盖某个域名下的所有子域名(例如
*.yourdomain.com)。当您运行多个子域名(如shop.yourdomain.com、api.yourdomain.com、mail.yourdomain.com)时,这是高性价比之选。
付费证书通常有效期为一年,到期前需手动续期。建议在到期日前 30 天设置提醒,以免出现意外的证书失效中断。
Let's Encrypt 与 AutoSSL 自动续期
在 DirectAdmin 上使用 Let's Encrypt 的最大优势之一,是续期流程完全自动化。您无需登录、提交续期申请或手动安装——服务器会全程处理。
AutoSSL 工作原理
DirectAdmin 每天检查证书到期日期。当证书剩余有效期不足 30 天时,系统会自动向 Let's Encrypt 发送续期请求。验证和安装过程仅需几秒,不会对您的线上网站或访客流量造成任何影响。
自动续期成功所需条件
- DNS 必须指向服务器:Let's Encrypt 通过在
/.well-known/acme-challenge/放置临时文件并通过 HTTP 检查来验证域名所有权。如果您的域名 DNS 指向其他地方,验证将会失败。 - 80 端口必须可访问:防火墙规则若屏蔽 80 端口入站流量,将阻止 HTTP 验证完成,即使您的网站运行在 443 端口亦然。
- .htaccess 不得屏蔽验证路径:若您有重定向规则在验证文件被读取前就将所有流量强制转向 HTTPS,Let's Encrypt 可能无法完成所有权验证。如有必要,请为
/.well-known/路径添加例外规则。
到期通知与监控
证书成功续期或续期失败时,DirectAdmin 都会向账户管理员发送电子邮件通知。请确保您的主机账户管理员邮箱地址是最新的,并定期查收邮件。为进一步保障安全,可考虑使用外部 SSL 监控工具,在证书距到期 14 天以内时发出警报——这样可以捕获 AutoSSL 静默失败的边缘情况。
通过 .htaccess 将所有 URL 从 HTTP 重定向到 HTTPS
即使安装了SSL,直接输入不带 https:// 的 URL 或使用旧书签的访客,仍可能访问到 HTTP 版本的网站。在 .htaccess 中添加永久重定向规则,可确保无论访客如何到达,始终为其提供安全的 HTTPS 版本。
标准 HTTP 到 HTTPS 重定向规则
在 DirectAdmin 中打开文件管理器,导航至 public_html/.htaccess,并在文件最顶部——WordPress 或其他应用规则之前——添加以下代码行:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
各行说明:
RewriteEngine On——激活 Apache 的 URL 重写模块。RewriteCond %{HTTPS} off——仅当请求为 HTTP(非 HTTPS)时触发重定向,防止产生无限重定向循环。RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]——使用 301(永久)重定向将每个 URL 重定向到其 HTTPS 对应版本。[L]标志在匹配后停止处理后续规则。
重要提示:请先安装 SSL 再添加重定向
在添加 HTTP 到 HTTPS 重定向规则之前,请务必确认SSL证书已安装并处于激活状态。如果先添加重定向而证书尚未激活,您的网站将把所有访客重定向到显示证书错误的 HTTPS URL,实际上会导致网站无法访问。正确顺序:先安装证书 → 在浏览器中验证其正常运行 → 再添加重定向规则。