售前咨询400-838-0503

Linux服务器如何配置SSL证书?

技术文档 2025-04-25 04:55

Linux服务器SSL证书配置全攻略:从申请到部署

在当今互联网环境中,SSL/TLS证书已成为网站安全的基本要求。本文将详细介绍在Linux服务器上配置SSL证书的完整流程,涵盖从证书申请到Nginx/Apache配置的全过程,帮助您快速实现网站HTTPS加密。

一、SSL证书基础概念

SSL(Secure Sockets Layer)及其继任者TLS(Transport Layer Security)是用于在互联网通信中提供安全性的加密协议。配置SSL证书可以:

  • 加密客户端与服务器之间的数据传输
  • 验证网站真实性
  • 提升SEO排名(Google明确表示HTTPS是排名因素之一)
  • 满足PCI DSS合规要求

二、证书申请准备

1. 选择证书类型

根据需求选择适合的证书:

  • DV证书:域名验证型,最快签发(如Let's Encrypt)
  • OV证书:组织验证型,需要验证企业信息
  • EV证书:扩展验证型,显示绿色企业名称

2. 生成CSR和私钥

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

此命令将生成2048位的RSA私钥和证书签名请求(CSR)文件。

三、主流证书申请方式

1. Let's Encrypt免费证书(推荐)

使用Certbot工具自动化申请:

sudo apt install certbot
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

2. 商业证书申请流程

  1. 在证书提供商网站提交CSR
  2. 完成域名所有权验证(DNS或文件验证)
  3. 下载颁发的证书文件(通常包含.crt和.ca-bundle文件)

四、Nginx服务器配置

编辑Nginx配置文件(通常位于/etc/nginx/sites-available/):

server {
    listen 443 ssl;
    server_name example.com;
    
    ssl_certificate /path/to/yourdomain.crt;
    ssl_certificate_key /path/to/yourdomain.key;
    ssl_trusted_certificate /path/to/ca-bundle.crt;
    
    # 启用HTTP/2
    listen 443 ssl http2;
    
    # 其他配置...
}

强制HTTPS重定向

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

五、Apache服务器配置

编辑Apache虚拟主机文件:


    ServerName example.com
    SSLEngine on
    SSLCertificateFile /path/to/yourdomain.crt
    SSLCertificateKeyFile /path/to/yourdomain.key
    SSLCertificateChainFile /path/to/ca-bundle.crt

HTTP重定向配置


    ServerName example.com
    Redirect permanent / https://example.com/

六、证书自动续期

Let's Encrypt证书有效期为90天,建议设置自动续期:

sudo crontab -e
# 添加以下内容(每月1号凌晨3点检查续期)
0 3 1 * * /usr/bin/certbot renew --quiet

七、安全优化建议

  • 使用强加密套件:禁用SSLv3,优先使用TLS 1.2/1.3
  • 启用HSTS(HTTP Strict Transport Security)
  • 配置OCSP Stapling提高性能
  • 定期检查证书有效期

总结

通过本文的详细指导,您应该已经掌握了在Linux服务器上配置SSL证书的完整流程。无论是选择免费的Let's Encrypt还是商业证书,正确的配置都能为您的网站提供可靠的安全保障。记住定期检查证书状态并保持服务器软件更新,以确保最佳的安全性能。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单