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 证书的类型,选择适合你业务的证书:
DV(Domain Validation,域名验证型)证书
只验证域名的所有权,适合个人网站或小型企业;
申请简单,价格便宜或免费(如 Let's Encrypt)。
OV(Organization Validation,组织验证型)证书
验证域名所有权和申请组织的真实性;
适合企业网站,浏览器会显示公司名称。
EV(Extended Validation,扩展验证型)证书
验证域名所有权、组织真实性以及法律合规性;
适合金融、电商等高安全需求的网站,浏览器地址栏会显示绿色企业名称。
免费证书(如 Let's Encrypt)
免费、自动化签发,适合个人或测试环境;
有效期通常为 90 天,需要定期续签。
二、获取 HTTPS 证书
1. 从云服务商获取证书
大多数云平台(如腾讯云、阿里云、AWS 等)都提供了免费的或付费的 SSL/TLS 证书服务,可以直接在控制台申请和管理。
(1)腾讯云 SSL 证书服务
登录 腾讯云控制台;
进入【安全】 > 【SSL 证书】;
点击【申请免费证书】或【购买证书】;
按照提示填写域名信息,选择验证方式(DNS 验证或文件验证);
完成验证后,下载证书文件(通常包括 .crt 和 .key 文件)。
(2)阿里云 SSL 证书服务
登录 阿里云控制台;
进入【安全】 > 【SSL 证书】;
点击【购买证书】或【免费证书】;
按照提示完成申请和验证,下载证书文件。
注意:云服务商提供的证书通常是 .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 # 如果使用 ApacheCentOS/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,确保证书续签配置正确 |