首页主机资讯centos nginx SSL证书安装步骤

centos nginx SSL证书安装步骤

时间2025-12-19 22:59:04发布访客分类主机资讯浏览398
导读:CentOS 上 Nginx 安装 SSL 证书步骤 一 准备与前置检查 确保证书已签发且状态为“已签发”,并下载到本地。证书需与部署的域名一一对应。 在服务器与云安全组放行 TCP 443 端口,否则无法启用 HTTPS。 如一个域名对...

CentOS 上 Nginx 安装 SSL 证书步骤

一 准备与前置检查

  • 确保证书已签发且状态为“已签发”,并下载到本地。证书需与部署的域名一一对应
  • 在服务器与云安全组放行 TCP 443 端口,否则无法启用 HTTPS。
  • 如一个域名对应多台服务器,需在每台服务器都部署同一证书。
  • 准备好证书文件与私钥:常见为 server.crt / server.key;若下载包内是 .pem(包含服务器证书与中级 CA),可改名为 .crt 使用。
  • 确认 Nginx 编译时包含 –with-http_ssl_module,否则无法启用 SSL。

二 手动安装步骤(适用于已有证书)

  1. 上传证书到服务器

    • 在 Nginx 配置目录(常见为 /usr/local/nginx/conf)创建证书目录:
      mkdir -p /usr/local/nginx/conf/cert
    • server.crtserver.key 上传至该目录(路径中避免中文字符)。
  2. 修改 Nginx 配置

    • 编辑配置文件(如 /usr/local/nginx/conf/nginx.conf/etc/nginx/conf.d/your_domain.conf),在 http{ } 内新增或修改如下 server 块:
      server {
      listen 443 ssl;
      server_name www.domain.com;
      ssl_certificate cert/server.crt;
      ssl_certificate_key cert/server.key;
      ssl_session_cache shared:SSL:1m;
      ssl_session_timeout 5m;
      ssl_ciphers HIGH:!aNULL:!MD5;
      ssl_prefer_server_ciphers on;
      location / {
      root html;
      index index.html index.htm;
      }
      }
    • 如需 HTTP 自动跳转 HTTPS,新增 80 端口 server:
      server {
      listen 80;
      server_name www.domain.com;
      return 301 https://$host$request_uri;
      }
  3. 校验并重载

    • 语法检查:
      /usr/local/nginx/sbin/nginx -t
    • 热重载:
      /usr/local/nginx/sbin/nginx -s reload
    • 如使用系统服务管理(如 yum 安装,常见于 /etc/nginx):
      nginx -t & & systemctl reload nginx
  4. 访问验证

    • 浏览器访问 https://www.domain.com,应显示安全锁标识。

三 一键申请 Let’s Encrypt 证书(Certbot)

  • 安装 Certbot 与 Nginx 插件(CentOS 7/8 常见):
    sudo yum install epel-release
    sudo yum install certbot python3-certbot-nginx
  • 申请并自动配置 Nginx:
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
  • 按提示完成验证与配置,Certbot 会自动修改 Nginx 配置、设置 HTTP→HTTPS 301 重定向,并配置证书路径(常见为 /etc/letsencrypt/live/yourdomain.com/fullchain.pemprivkey.pem)。
  • 验证与续期:
    sudo nginx -t & & sudo systemctl reload nginx
    sudo certbot renew --dry-run(测试自动续期)

四 常见问题与排查

  • 启动报错 “the “ssl” parameter requires ngx_http_ssl_module”:Nginx 未编译 SSL 模块,需重新编译加入 –with-http_ssl_module
  • 证书文件无法读取:检查 ssl_certificate / ssl_certificate_key 路径、权限及是否包含中文字符。
  • 浏览器提示“证书不匹配/不安全”:证书域名必须与 server_name 一致,且证书需包含对应域名(含必要的中级 CA)。
  • 访问不通:服务器与云安全组需放行 443;云厂商实例还需在控制台安全组规则中放行。
  • 配置语法错误:执行 nginx -t 定位错误行并修正后再重载。

五 推荐的安全与优化参数

  • 协议与套件:优先启用 TLSv1.2/TLSv1.3,使用现代套件,例如:
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;
  • 会话与性能:
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
  • 可选增强:启用 HSTSOCSP Stapling 提升安全与握手性能。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos nginx SSL证书安装步骤
本文地址: https://pptw.com/jishu/776763.html
centos nginx缓存策略如何配置 centos nginx虚拟主机配置方法

游客 回复需填写必要信息