当前位置:首页 > 云服务器 > 正文

https证书怎么安装?https证书免费申请方法

安装 SSL/TLS 证书是保障网站数据安全、提升用户信任度以及优化搜索引擎排名的关键步骤,虽然不同服务器环境(如 Nginx、Apache、IIS 等)的具体配置略有差异,但核心逻辑是一致的,以下将详细介绍从获取证书到完成配置的完整流程。

证书申请与获取

在开始安装之前,你需要确保证书文件已经就绪,通常通过证书颁发机构(CA)或云服务商控制台获取。

  • 申请方式
    • 手动申请:生成 CSR(证书签名请求)文件,提交给 CA,验证域名所有权后下载证书。
    • 自动申请:使用 Let’s Encrypt 等免费 CA 工具,或云厂商提供的自动续签服务。

  • 文件类型

    通常你会收到一个压缩包,解压后包含以下关键文件(以 Nginx 为例):

    • domain.com.crt:域名证书文件。
    • domain.com.key:私钥文件(务必保密,严禁泄露)。
    • ca_bundle.crt 或 chain.crt:中间证书链文件。

上传证书文件

将下载好的证书文件和私钥文件上传到你的服务器指定目录,建议创建一个专门的目录,/etc/ssl/certs/ 或 /usr/local/nginx/conf/ssl/。

  • 权限设置:确保私钥文件(.key)仅对拥有者可读,防止被其他用户窃取。 chmod 600 /path/to/your/domain.com.key

配置 Web 服务器

根据你使用的 Web 服务器软件,修改相应的配置文件,以下是两种主流服务器的配置示例。

https证书怎么安装?https证书免费申请方法 第1张

Nginx 配置示例

打开 Nginx 配置文件(通常位于 /etc/nginx/conf.d/ 或 /etc/nginx/sites-available/),在对应的 server 块中添加或修改 listen 和 ssl_certificate 指令。

配置项 说明 示例值
listen 监听 443 端口并启用 SSL 443 ssl;
server_name 你的域名 www.example.com;
ssl_certificate 证书公钥文件路径 /etc/ssl/certs/domain.com.crt;
ssl_certificate_key 证书私钥文件路径 /etc/ssl/private/domain.com.key;
ssl_protocols 支持的 TLS 版本(建议仅开启 1.2 和 1.3) TLSv1.2 TLSv1.3;

完整配置片段:

server { listen 443 ssl; server_name www.example.com; # 证书路径 ssl_certificate /etc/ssl/certs/domain.com.crt; ssl_certificate_key /etc/ssl/private/domain.com.key; # 安全协议配置 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; # 其他配置... location / { root /var/www/html; index index.html; } }

Apache 配置示例

在 Apache 中,通常需要启用 mod_ssl 模块,并在虚拟主机配置文件中添加 SSL 指令。

https证书怎么安装?https证书免费申请方法 第2张

强制 HTTPS 跳转(可选但推荐)

为了提升安全性,建议将所有 HTTP 请求自动重定向到 HTTPS。

Nginx 重定向配置:

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

Apache 重定向配置:

需要在 .htaccess 文件或虚拟主机配置中启用 mod_rewrite:

https证书怎么安装?https证书免费申请方法 第3张

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

验证与测试

配置完成后,必须重启 Web 服务器使配置生效,并进行验证。

  1. 重启服务
    • Nginx: nginx -t (测试配置语法) -> systemctl restart nginx
    • Apache: apachectl configtest -> systemctl restart apache2
  2. 浏览器访问

    使用浏览器访问 https://www.example.com,检查地址栏是否显示“安全”锁标志。

  3. 在线工具检测

    使用 SSL Labs 等工具进行深度扫描,检查证书链完整性、协议支持情况及评分。


相关问题与解答

Q1: 安装证书后,网站部分资源(如图片、CSS、JS)仍然显示为“不安全”或混合内容警告,如何解决?

A: 这通常是因为网页中引用的静态资源路径仍使用 http:// 协议,解决方法有两种:

  1. 修改代码:将所有资源链接改为 https:// 或相对路径(如 /images/logo.png),浏览器会自动根据当前页面协议选择。
  2. 使用混合内容修复插件:对于 WordPress 等 CMS 系统,可以安装如 “Really Simple SSL” 的插件,它会自动扫描并替换页面中的 HTTP 资源链接。

Q2: 为什么我的证书显示“证书链不完整”或浏览器报错“NET::ERR_CERT_AUTHORITY_INVALID”?

A: 这通常是因为缺少中间证书(Intermediate Certificate),现代浏览器要求证书链必须完整,即:根证书 -> 中间证书 -> 域名证书。

  • 检查方法:确认你在配置中是否正确指定了 ssl_certificate(通常应为域名证书 + 中间证书合并后的文件,或者单独指定 ssl_certificate_key 和 ssl_trusted_certificate)。
  • 解决方案:重新下载证书时,选择“Nginx”或“Apache”格式,这些格式通常已经包含了完整的证书链,如果手动合并,请确保顺序正确:先放域名证书,再放中间证书。

0