插件窝 干货文章 怎么用Centos7.3安装部署Nginx并配置https

怎么用Centos7.3安装部署Nginx并配置https

Nginx yourdomain 配置 sudo 293    来源:    2025-04-22

在CentOS 7.3上安装部署Nginx并配置HTTPS

1. 安装Nginx

1.1 添加Nginx官方仓库

sudo yum install epel-release
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

1.2 安装Nginx

sudo yum install nginx

1.3 启动Nginx并设置开机自启

sudo systemctl start nginx
sudo systemctl enable nginx

2. 配置防火墙

2.1 开放HTTP和HTTPS端口

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

3. 获取SSL证书

3.1 安装Certbot (Let's Encrypt客户端)

sudo yum install certbot python2-certbot-nginx

3.2 获取SSL证书

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

(将yourdomain.com替换为您的实际域名)

4. 配置Nginx HTTPS

4.1 编辑Nginx配置文件

sudo vi /etc/nginx/conf.d/default.conf

4.2 添加或修改配置为以下内容

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

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

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

4.3 测试Nginx配置

sudo nginx -t

4.4 重启Nginx

sudo systemctl restart nginx

5. 设置证书自动续期

5.1 测试续期命令

sudo certbot renew --dry-run

5.2 添加定时任务

sudo crontab -e

添加以下内容:

0 0,12 * * * /usr/bin/certbot renew --quiet

验证HTTPS配置

访问 https://yourdomain.com,您应该能看到绿色锁标志,表示HTTPS配置成功。

注意事项

  1. 确保您的域名已正确解析到服务器IP
  2. 如果使用云服务商,可能需要在其控制台额外开放安全组端口
  3. 生产环境建议配置更严格的安全参数
  4. 定期检查证书是否自动续期成功

如需更高级配置,如HTTP/2、OCSP Stapling等,可进一步优化Nginx SSL配置。