在Nginx或Tengine服务器安装SSL证书(Linux)

安装配置 10分钟阅读 3421次浏览

前提条件

  • 已获得权威机构签发的SSL证书
  • 证书域名与网站域名匹配
  • 服务器具有root权限或sudo权限
  • 域名已完成ICP备案(中国内地服务器)
  • 域名DNS已解析至服务器IP

步骤一:准备SSL证书

  1. 下载证书文件
    • 登录SSL证书管理控制台
    • 找到目标证书,下载服务器类型为Nginx的证书
    • 解压后应包含:.pem(证书文件)和.key(私钥文件)
  2. 上传证书到服务器
    # 创建证书目录
    sudo mkdir -p /etc/ssl/cert
    
    # 上传证书文件(使用scp、WinSCP等工具)
    # 证书路径示例:
    # /etc/ssl/cert/yourdomain.pem
    # /etc/ssl/cert/yourdomain.key
    

步骤二:配置系统环境

开放443端口

# 检查443端口
sudo ss -tlnp | grep :443

# firewalld防火墙
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

# ufw防火墙
sudo ufw allow 443/tcp

# iptables
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

步骤三:安装SSL证书到Nginx

1. 检查SSL模块

nginx -V 2>&1 | grep -o '--with-http_ssl_module'

如果输出--with-http_ssl_module则表示已安装。

2. 配置Nginx

sudo vim /etc/nginx/nginx.conf

添加以下配置:

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

    # 证书配置
    ssl_certificate /etc/ssl/cert/yourdomain.pem;
    ssl_certificate_key /etc/ssl/cert/yourdomain.key;

    # SSL优化配置
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    # 其他配置...
    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
}

# HTTP自动跳转HTTPS
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

3. 测试并重载Nginx

# 测试配置
sudo nginx -t

# 重载配置
sudo nginx -s reload

步骤四:验证部署结果

  1. 浏览器访问 https://yourdomain.com
  2. 确认地址栏显示安全锁图标🔒
  3. 如遇问题,清除缓存后重试
完成!您的Nginx服务器现已支持HTTPS访问。

最后更新:2026-05-25
文档反馈

这篇文档对您有帮助吗?您的反馈将帮助我们改进内容质量

相关文档
暂无相关文档
需要更多帮助?

我们的技术团队随时为您提供支持