Home Knowledge base Skyline Cloud 如何安装 SSL 证书并强制启用 HTTPS KNOWLEDGE BASE

如何安装 SSL 证书并强制启用 HTTPS

一份实用的分步指南,教你为网站安装 SSL/TLS 证书,并将所有流量强制切换到 HTTPS。涵盖 cPanel AutoSSL、Nginx 与 Apache 上的 Let's Encrypt,以及强制 HTTPS 重定向和启用 HSTS。

如何安装 SSL 证书并强制启用 HTTPS

一份实用的分步指南,教你为网站安装 SSL/TLS 证书,并将所有流量强制切换到 HTTPS。

SSL/TLS 证书会对访客浏览器与服务器之间的连接进行加密,将 http:// 升级为 https://。它能保护登录凭据、支付数据和表单提交,也是任何现代网站的基本要求——浏览器会将纯 HTTP 页面标记为"不安全",而搜索引擎则把 HTTPS 视为排名信号。

本教程介绍三种常见的证书安装方式——cPanel AutoSSL、Nginx 上的 Let's Encrypt,以及 Apache 上的 Let's Encrypt——随后将每个请求强制切换到 HTTPS 并启用 HSTS。这些步骤适用于任何符合标准的主机,包括 Skyline Cloud 托管服务。

开始之前

请确认以下几点:

  • DNS 已解析到你的服务器。 你域名的 A 记录(如果使用 IPv6,还需 AAAA 记录)必须指向服务器的公网 IP。证书颁发机构会通过 80/443 端口验证域名控制权,因此必须先让解析生效。
  • 80 和 443 端口已开放,包括防火墙和安全组。
  • 你拥有 Shell 或控制面板访问权限。 cPanel 用户需要控制面板;VPS 和独立服务器用户则需要具备 sudo 权限的 SSH 访问。

你可以用以下命令查看域名的解析地址:

dig +short A example.sa

选择证书类型

类型 验证方式 最适合
域名验证型 (DV) 仅验证域名控制权 博客、小型企业、大多数网站
组织验证型 (OV) 验证企业身份 企业站点
扩展验证型 (EV) 完整的法律资质审核 银行、大型电商
通配符证书 覆盖 *.example.sa 多个子域名

对于大多数网站而言,来自 Let's Encrypt 的免费 DV 证书已经足够。如果你需要 OV/EV 证书或带有保障性支持的通配符证书,Skyline 可在你的托管方案中提供托管式证书。

方案一 —— 使用 AutoSSL 的 cPanel(最简单)

如果你的网站运行在共享或托管型 cPanel 主机上,AutoSSL 会自动处理一切。

  1. 登录 cPanel。
  2. Security(安全) 下,打开 SSL/TLS Status(SSL/TLS 状态)
  3. 勾选你希望覆盖的域名,然后点击 Run AutoSSL(运行 AutoSSL)
  4. 几分钟内,挂锁图标会变绿,免费的 DV 证书将被安装并设置为自动续期。

要安装你在别处购买的证书,请进入 SSL/TLS → Manage SSL sites(管理 SSL 站点),粘贴证书(CRT)、私钥(KEY)和 CA 证书链,然后点击 Install Certificate(安装证书)

方案二 —— Nginx 上的 Let's Encrypt(VPS / 云服务器)

在云服务器或 VPS 上,使用 Certbot。在 Ubuntu/Debian 上:

sudo apt update
sudo apt install certbot python3-certbot-nginx -y

用一条命令颁发并自动配置证书:

sudo certbot --nginx -d example.sa -d www.example.sa

Certbot 会验证域名、获取证书、编辑你的 server 块,并提示是否设置 HTTPS 重定向。出现提示时选择 2: Redirect(重定向),即可自动强制启用 HTTPS。

如果你更想手动配置,你的 server 块应引用已颁发的文件:

server {
    listen 443 ssl;
    server_name example.sa www.example.sa;

    ssl_certificate     /etc/letsencrypt/live/example.sa/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.sa/privkey.pem;

    # Modern TLS only
    ssl_protocols TLSv1.2 TLSv1.3;

    root /var/www/example.sa;
    index index.html index.php;
}

测试并重新加载:

sudo nginx -t && sudo systemctl reload nginx

方案三 —— Apache 上的 Let's Encrypt

安装 Apache 插件:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.sa -d www.example.sa

Certbot 会创建一个 SSL 虚拟主机,并在你选择重定向时为你添加 HTTPS 规则。生成的 <VirtualHost *:443> 块会引用 /etc/letsencrypt/live/ 下的 SSLCertificateFileSSLCertificateKeyFile

强制启用 HTTPS

安装证书并不能阻止访客访问不安全的 http:// 版本。你必须通过一个永久(301)重定向,将所有 HTTP 流量重定向到 HTTPS。

Nginx —— 添加一个专门的 80 端口块:

server {
    listen 80;
    server_name example.sa www.example.sa;
    return 301 https://$host$request_uri;
}

Apache —— 在你的 .htaccess 或虚拟主机中:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

cPanel —— 在 Domains → Force HTTPS Redirect(强制 HTTPS 重定向) 下,为每个域名打开该开关。

启用 HSTS

HTTP 严格传输安全(HSTS)会告诉浏览器_只_通过 HTTPS 连接,从而消除那次短暂的不安全首次请求,并防范降级攻击。在确认重定向正常工作后,再添加该响应头。

Nginx(放在 443 server 块内):

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Apache

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

测试期间先从较短的 max-age 开始,之后再调大。只有当每个子域名都支持 HTTPS 后,才添加 includeSubDomains

验证一切正常

  1. 访问 http://example.sa —— 它应当重定向到 https://
  2. 在浏览器中确认挂锁图标和有效的证书。
  3. 从终端检查重定向和响应头:
curl -sI http://example.sa | grep -i location
curl -sI https://example.sa | grep -i strict-transport
  1. 运行一次外部扫描(例如 SSL Labs),确认评级为 A、证书链正确且无混合内容。

如果页面仍显示"不安全",请查找混合内容——即被硬编码为 http:// 的资源(图片、脚本、CSS)。将它们更新为 https:// 或协议相对 URL。

续期

Let's Encrypt 证书有效期为 90 天。Certbot 会自动安装一个 systemd 定时器或 cron 任务;用以下命令确认:

sudo certbot renew --dry-run

cPanel AutoSSL 和 Skyline 托管式证书会自行续期,因此无需操心。

数据驻留说明

如果你的受众位于沙特阿拉伯或海湾合作委员会(GCC)地区,将托管与 TLS 终止置于王国境内,可使流量和证书密钥保留在符合 PDPL、NCA 与 SDAIA 要求的基础设施上——并在需要时提供本地阿拉伯语支持。这正是 Skyline 云托管与商务邮件托管背后的理念。关于证书类型、证书链和故障排查的更多内容,请参阅我们的 SSL 证书资源中心。

立即开始

开通一台包含 SSL、数据驻留王国境内的云服务器、虚拟主机或托管式 WordPress 方案。前往 Skyline Cloud 创建你的账户,立即为你的网站加上安全保护。

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.