bg-tutorials

如何在SurgeMail上安装SSL证书

本教程将向您展示如何在 SurgeMail 上安装 SSL 证书,SurgeMail 是 Netwin 出品的邮件服务器,可在单一守护进程中处理 SMTP、IMAP、POP3 和网络邮件。您将把签发的证书及其中间证书链粘贴到 SurgeMail 网页管理界面中,重启服务,并验证每个安全端口(提交端口、SMTPS、IMAPS、POP3S 以及网络邮件 HTTPS)都能正确呈现新证书。

以下步骤适用于 Windows、Linux 和 macOS 系统上当前的 SurgeMail 8.x 版本。网页管理界面的布局在多个版本中一直保持稳定,因此较旧的 7.x 安装版本也遵循相同的流程。

在 SurgeMail 上生成 CSR

如果您已经生成了 CSR 并从证书颁发机构收到了 SSL 文件,请跳过第一部分,直接进入安装步骤

CSR(证书签名请求)是一段编码文本,其中包含您的联系信息以及与服务器上保存的私钥配对的公钥。证书颁发机构(CA)会使用 CSR 来验证您的信息,然后再签发证书。您有两种选择:

  • 使用我们的CSR 生成器自动创建 CSR。如果选择此方式,私钥会在 SurgeMail 之外生成,因此在安装证书时,您需要将证书与私钥一起导入。
  • 按照我们的教程如何在 SurgeMail 上生成 CSR,直接在 SurgeMail 内部生成 CSR。私钥会保留在服务器上,签名后的证书会与其配对存放。

下单 SSL 时,请复制完整的 CSR 文本,包括BEGIN CERTIFICATE REQUESTEND CERTIFICATE REQUEST这两行,并将其粘贴到订单表单中。在 SurgeMail 内部生成 CSR 是更简单的方式,因为私钥已经存在于服务器上,随时可以与 CA 返回的已签名证书配对。

在 SurgeMail 上安装 SSL 证书

CA 验证您的请求并签发证书后,您通常会通过电子邮件收到一个 ZIP 压缩包。将其解压到您的计算机上;您应该会得到主要(服务器)证书以及一个或多个中间(CA)证书。SurgeMail 要求这些证书采用 PEM 格式,这是大多数 CA 提供的默认纯文本格式(文件以—–BEGIN CERTIFICATE—–开头)。如果您收到的文件是 .crt.cer.pem 格式,请在纯文本编辑器中打开它们(Windows 上使用记事本,Linux 和 macOS 上使用 nano 或 vi),确认其中包含 PEM 标头。

第一步:在网页管理界面中打开 SSL Certificates 页面

在浏览器中登录 SurgeMail 网页管理界面。默认情况下,安全管理界面位于端口 7025(例如 https://mail.example.com:7025);未加密的管理端口为 7026。登录后,打开Globals > SSL Certificates Configure。此页面列出了 SurgeMail 已知的所有证书,您可以在此导入已签名的证书、替换现有证书,或设置针对特定域名的证书。

第二步:粘贴证书和中间证书链

打开您生成 CSR 所对应域名的条目,然后找到SSL Certificate(s)文本字段。首先粘贴已签发的证书文本,紧接着在其下方粘贴中间证书,两者之间不要有空行。组合后的文本块应如下所示:

-----BEGIN CERTIFICATE-----
(Your primary / server certificate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(Your intermediate certificate)
-----END CERTIFICATE-----

每个BEGIN CERTIFICATEEND CERTIFICATE标记的两侧都必须使用恰好五个连字符,且中间不能有空格。标记行出现问题(例如弯曲的破折号、缺少连字符或多余的空格)是导致 SurgeMail SSL 导入失败的最常见原因。如果您的 CA 提供了多个中间证书,请按照 CA 文档中说明的顺序粘贴,每个证书块紧接在前一个之下。

如果 CSR 是在 SurgeMail 之外生成的(例如使用我们的 CSR 生成器),此页面同样接受对应的私钥。将其粘贴到表单中的私钥字段,以便 SurgeMail 能将其与证书配对。如果 CSR 是在 SurgeMail 内部生成的,私钥已经存在于服务器上,您只需粘贴证书链即可。

点击页面底部的Save按钮。在后台,SurgeMail 会将证书链写入其安装目录下的ssl/surge_cert.pem,并将私钥写入ssl/surge_priv.pem

第三步:重启 SurgeMail

SurgeMail 在启动时加载证书,因此只有在重启之后才会开始提供新证书。请根据您的平台选择相应的方法:

  • 网页管理界面:打开Status > Restart Server(或在仪表盘上使用相应的Restart按钮)。
  • Windows:services.msc中重启SurgeMail服务。
  • Linux:以 root 身份运行 tellmail shutdown,让服务管理程序重新启动 SurgeMail,或使用安装程序注册的 init/systemd 单元(通常为 systemctl restart surgemail)。
  • macOS:使用 SurgeMail Manager 中的StopStart控件,或重启安装程序注册的 launchd 任务。

每次续期或重新签发证书后,即使域名没有变化,也需要重启服务。

可选:加固 SSL 设置

在使用网页管理界面时,不妨顺便应用一套现代安全基线配置。SurgeMail 提供了一个单行预设,可启用现代密码套件并关闭过时的协议版本:

g_ssl_perfect "true"

在较旧的安装版本中,您还可以明确禁用已弃用的 SSL 和早期 TLS 版本:

g_ssl_disable "sslv2,sslv3,tlsv1,tlsv1_1"

这些指令与其他全局设置放在一起(可通过网页管理界面中的Globals > SSL进行设置,或直接编辑surgemail.ini文件)。保存更改并重启 SurgeMail,使其对每个启用 TLS 的服务生效。

可选:使用 Let’s Encrypt 自动续期

如果您不想手动管理粘贴和重启的续期流程,SurgeMail 从 7.3j2 版本起内置了 Let’s Encrypt 支持。请在全局设置中添加以下内容,确保端口 80 可由 SurgeMail 直接访问(而非由 Apache 或 IIS 占用),以便 HTTP-01 挑战能够顺利完成,然后执行更新命令:

g_ssl_per_domain "true"
g_ssl_auto "true"
g_webmail_port "80,7080"
tellmail ssl_update

此模式最适合全新部署的环境。如果您购买了商业证书(扩展验证、多年有效期或通配符证书),请仍使用上文所述的手动粘贴流程。

测试您的 SSL 安装

SurgeMail 重新启动后,请扫描所有应提供该证书的服务。由于 SurgeMail 通过单一守护进程处理多种协议,某个端口配置错误可能会导致客户端出现问题,而不会影响网络邮件(反之亦然)。请测试以下内容:

  • 端口 7443 上的网络邮件 HTTPS(如果 SurgeMail 前置了反向代理,则为端口 443)。
  • 端口 587(STARTTLS)上的SMTP 提交以及端口 465 上的SMTPS
  • 端口 993 上的IMAPS以及端口 143 上的IMAP STARTTLS
  • 端口 995 上的POP3S以及端口 110 上的POP3 STARTTLS

使用我们的SSL Checker来验证网络邮件端口上的证书及完整的中间证书链。对于邮件协议端口,请从服务器上使用支持 TLS 的命令行工具(例如,对于 IMAPS 使用 openssl s_client -connect mail.example.com:993,对于 SMTP 提交使用 openssl s_client -starttls smtp -connect mail.example.com:587)。返回的证书、颁发者链以及有效期应与您刚安装的证书一致。

如果安装后客户端仍对证书发出警告,原因几乎总是缺少中间证书。请重新检查SSL Certificate(s)字段中的证书链是否包含 CA 的中间证书,保存后再次重启 SurgeMail。

常见问题

在 SurgeMail 中应该在哪里安装 SSL 证书?

在 SurgeMail 网页管理界面(默认安全网址为 https://your-server:7025)中,打开Globals > SSL Certificates Configure。在该页面中,您可以粘贴 CA 签发的证书文本、添加中间证书链并保存。保存后,请重启 SurgeMail,以便每个服务都加载新证书。

SurgeMail 将 SSL 证书文件存储在磁盘上的什么位置?

SurgeMail 会将证书链写入其安装目录下的 ssl/surge_cert.pem,并将私钥写入 ssl/surge_priv.pem。证书文件中首先包含主要证书,随后紧接着追加中间证书链。您也可以直接替换磁盘上的这两个文件并重启 SurgeMail;效果与通过网页管理界面粘贴相同内容完全一致。

安装证书后是否需要重启 SurgeMail?

是的。SurgeMail 在服务启动时加载证书,因此如果只保存而不重启,客户端仍将使用旧证书。可以在网页管理界面中通过Status > Restart Server重启,在 Windows 上通过services.msc重启,或在 Linux 上使用 tellmail shutdown(并配合服务管理程序的重启命令)。每次续期和重新签发证书后也都需要重启。

安装证书后应该测试哪些 SurgeMail 端口?

请测试所有启用 TLS 的服务:端口 7443 上的网络邮件 HTTPS(如果处于代理之后,则为端口 443)、端口 587 上的 SMTP 提交以及端口 465 上的 SMTPS、端口 993 上的 IMAPS 以及端口 143 上的 STARTTLS,还有端口 995 上的 POP3S 以及端口 110 上的 STARTTLS。所有这些端口都应提供相同的证书,因此如果两个端口之间出现差异,通常意味着有一个旧进程仍在运行,需要再次重启。

SurgeMail 能否自动签发和续期证书?

可以。从 7.3j2 版本起,SurgeMail 内置了 Let’s Encrypt(ACME)支持。在全局设置中设置 g_ssl_per_domain "true"g_ssl_auto "true",确保端口 80 可由 SurgeMail 访问(而非同一主机上的其他网页服务器占用),然后运行 tellmail ssl_update 来配置并在之后续期证书。对于商业证书或通配符证书,请按照上文所述,通过Globals > SSL Certificates Configure手动安装。

为什么邮件客户端仍然对证书发出警告?

最常见的原因是缺少中间证书;仅有服务器证书不足以让客户端建立信任链。请重新打开SSL Certificates Configure,确认中间证书块紧接在主要证书下方且中间没有空行,保存后重启 SurgeMail。同时请检查客户端连接时使用的主机名是否与证书中列出的完全一致,因为连接地址与证书的通用名称或 SAN 不匹配,即使证书链有效,也会触发警告。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.