TOP云提供高性价比云服务器租用,有中国内地/港澳台、海外等全球各地节点,TOP云国内云服务器只要有域名备案号就能直接用,无须重复备案;港澳台及海外云服务器不用备案,购买之后直接使用,省时省力省心。价格实惠,续费同价,2核2G5M仅需27元每月,8核8G50M仅需66元每月,更多配置套餐请进入下面网址了解:

TOP云总站云服务器:https://topyun.vip/server/buy.html

TOP云C站云服务器:https://c.topyun.vip/cart

在云服务器上配置 HTTPS 证书 是保障网站或服务安全的重要步骤。通过配置 HTTPS,可以实现数据的加密传输,防止数据被窃取或篡改,同时提升用户对网站的信任度(浏览器会显示“安全锁”标志)。以下是配置 HTTPS 证书的详细步骤,涵盖证书的获取、安装和配置,适用于常见的 Web 服务(如 Nginx 和 Apache)以及主流云平台(如腾讯云、阿里云等)。


一、HTTPS 证书的类型

在配置 HTTPS 之前,需要先了解 HTTPS 证书的类型,选择适合你业务的证书:

  1. DV(Domain Validation,域名验证型)证书

    • 只验证域名的所有权,适合个人网站或小型企业;

    • 申请简单,价格便宜或免费(如 Let's Encrypt)。

  2. OV(Organization Validation,组织验证型)证书

    • 验证域名所有权和申请组织的真实性;

    • 适合企业网站,浏览器会显示公司名称。

  3. EV(Extended Validation,扩展验证型)证书

    • 验证域名所有权、组织真实性以及法律合规性;

    • 适合金融、电商等高安全需求的网站,浏览器地址栏会显示绿色企业名称。

  4. 免费证书(如 Let's Encrypt)

    • 免费、自动化签发,适合个人或测试环境;

    • 有效期通常为 90 天,需要定期续签。


二、获取 HTTPS 证书

1. 从云服务商获取证书

大多数云平台(如腾讯云、阿里云、AWS 等)都提供了免费的或付费的 SSL/TLS 证书服务,可以直接在控制台申请和管理。

(1)腾讯云 SSL 证书服务

  1. 登录 腾讯云控制台

  2. 进入【安全】 > 【SSL 证书】;

  3. 点击【申请免费证书】或【购买证书】;

  4. 按照提示填写域名信息,选择验证方式(DNS 验证或文件验证);

  5. 完成验证后,下载证书文件(通常包括 .crt 和 .key 文件)。

(2)阿里云 SSL 证书服务

  1. 登录 阿里云控制台

  2. 进入【安全】 > 【SSL 证书】;

  3. 点击【购买证书】或【免费证书】;

  4. 按照提示完成申请和验证,下载证书文件。

注意:云服务商提供的证书通常是 .crt(证书文件)和 .key(私钥文件),部分证书可能还包含中间证书(ca-bundle.crt)。


2. 使用 Let's Encrypt 获取免费证书

Let's Encrypt 是一个免费的、自动化的证书颁发机构(CA),适合个人或测试环境。

(1)安装 Certbot(Let's Encrypt 客户端)

  • Ubuntu/Debian

    sudo apt update
    sudo apt install certbot python3-certbot-nginx -y  # 如果使用 Nginx
    sudo apt install certbot python3-certbot-apache -y # 如果使用 Apache
  • CentOS/RHEL

    sudo yum install epel-release -y
    sudo yum install certbot python3-certbot-nginx -y  # 如果使用 Nginx
    sudo yum install certbot python3-certbot-apache -y # 如果使用 Apache

(2)申请证书

  • Nginx

    sudo certbot --nginx -d example.com -d www.example.com
    • -d 指定要申请证书的域名;

    • Certbot 会自动配置 Nginx,启用 HTTPS。

  • Apache

    sudo certbot --apache -d example.com -d www.example.com

注意:Let's Encrypt 证书有效期为 90 天,Certbot 会自动添加定时任务(cron 或 systemd timer)来续签证书。


三、安装和配置 HTTPS 证书

以下以 Nginx 和 Apache 为例,介绍如何手动安装和配置 HTTPS 证书。


1. Nginx 配置 HTTPS

假设你已经从云服务商或 Let's Encrypt 获取了证书文件:

  • 证书文件:example.com.crt(或 fullchain.pem);

  • 私钥文件:example.com.key(或 privkey.pem)。

(1)上传证书文件到服务器

将证书文件上传到服务器的某个目录,例如 /etc/nginx/ssl/:

sudo mkdir -p /etc/nginx/ssl
sudo cp example.com.crt /etc/nginx/ssl/
sudo cp example.com.key /etc/nginx/ssl/

(2)编辑 Nginx 配置文件

编辑你的 Nginx 站点配置文件,通常位于 /etc/nginx/sites-available/ 或 /etc/nginx/conf.d/:

sudo vi /etc/nginx/sites-available/example.com

在配置文件中添加或修改以下内容:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;  # 将 HTTP 请求重定向到 HTTPS
}

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

    ssl_certificate /etc/nginx/ssl/example.com.crt;      # 证书文件路径
    ssl_certificate_key /etc/nginx/ssl/example.com.key;  # 私钥文件路径

    # 可选:启用更强的加密套件
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # 网站根目录
    root /var/www/html;
    index index.html index.htm;
}

说明

  • listen 80 配置了 HTTP 服务,并将所有 HTTP 请求重定向到 HTTPS;

  • listen 443 ssl 配置了 HTTPS 服务,并指定了证书和私钥文件路径。

(3)测试 Nginx 配置

sudo nginx -t

如果输出 syntax is ok 和 test is successful,说明配置正确。

(4)重启 Nginx

sudo systemctl restart nginx

(5)验证 HTTPS 是否生效

在浏览器中访问 https://example.com,检查是否显示“安全锁”标志。


2. Apache 配置 HTTPS

假设你已经获取了证书文件:

  • 证书文件:example.com.crt;

  • 私钥文件:example.com.key。

(1)上传证书文件到服务器

将证书文件上传到服务器的某个目录,例如 /etc/apache2/ssl/:

sudo mkdir -p /etc/apache2/ssl
sudo cp example.com.crt /etc/apache2/ssl/
sudo cp example.com.key /etc/apache2/ssl/

(2)编辑 Apache 配置文件

编辑你的 Apache 站点配置文件,通常位于 /etc/apache2/sites-available/:

sudo vi /etc/apache2/sites-available/example.com.conf

在配置文件中添加或修改以下内容:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent / https://example.com/  # 将 HTTP 请求重定向到 HTTPS
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/example.com.crt  # 证书文件路径
    SSLCertificateKeyFile /etc/apache2/ssl/example.com.key  # 私钥文件路径

    # 可选:启用更强的加密套件
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5

    # 网站根目录
    DocumentRoot /var/www/html
</VirtualHost>

(3)启用 SSL 模块

如果尚未启用 Apache 的 SSL 模块,运行以下命令:

sudo a2enmod ssl
sudo systemctl restart apache2

(4)重启 Apache

sudo systemctl restart apache2

(5)验证 HTTPS 是否生效

在浏览器中访问 https://example.com,检查是否显示“安全锁”标志。


四、验证 HTTPS 配置

1. 使用浏览器检查

  • 在浏览器中访问你的网站(如 https://example.com);

  • 检查是否显示“安全锁”标志;

  • 点击“安全锁”查看证书信息,确认证书是否正确。

2. 使用在线工具检查

可以使用以下在线工具检查你的 HTTPS 配置是否安全:

  • SSL Labs SSL Test:全面检测你的 HTTPS 配置,包括证书链、加密套件、协议支持等;

  • Why No Padlock:检查是否有混合内容(HTTP 资源加载到 HTTPS 页面中)。


五、配置自动续签(针对 Let's Encrypt 证书)

如果你使用的是 Let's Encrypt 的免费证书,证书有效期为 90 天,需要定期续签。Certbot 通常会自动添加定时任务来续签证书。

手动测试续签

sudo certbot renew --dry-run

如果输出显示续签成功,说明自动续签配置正常。


六、总结:配置 HTTPS 的最佳实践

步骤说明
获取证书从云服务商或 Let's Encrypt 获取证书,确保证书文件和私钥文件正确
安装证书将证书文件上传到服务器,并配置 Web 服务(如 Nginx 或 Apache)
配置重定向将 HTTP 请求重定向到 HTTPS,确保所有流量通过加密传输
验证配置使用浏览器或在线工具检查 HTTPS 是否生效
设置自动续签如果使用 Let's Encrypt,确保证书续签配置正确


不容错过
Powered By TOPYUN 云产品资讯