centos

Nginx在CentOS中如何配置HTTPS

小樊
90
2025-02-08 11:23:05
栏目: 智能运维

在CentOS中配置Nginx以支持HTTPS,您需要遵循以下步骤:

  1. 安装EPEL和Remi存储库:
sudo yum install epel-release
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  1. 启用Remi存储库中的Nginx和PHP:

对于PHP 7.2:

sudo yum-config-manager --enable remi-php72

对于PHP 7.3:

sudo yum-config-manager --enable remi-php73

对于PHP 7.4:

sudo yum-config-manager --enable remi-php74
  1. 安装Nginx和mod_ssl:
sudo yum install nginx mod_ssl
  1. 创建SSL证书和私钥。您可以使用Let’s Encrypt免费生成证书:
sudo yum install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

按照提示操作,Certbot将为您生成证书和私钥,并将它们放在/etc/pki/tls/certs//etc/pki/tls/private/目录下。确保将yourdomain.comwww.yourdomain.com替换为您的域名。

  1. 配置Nginx以使用生成的证书和私钥:

编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。找到server块,并修改listenssl_certificate指令,如下所示:

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/pki/tls/certs/yourdomain.com.crt;
    ssl_certificate_key  /etc/pki/tls/private/yourdomain.com.key;

    ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers          HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers  on;

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

确保将yourdomain.comwww.yourdomain.com替换为您的域名。

  1. 重启Nginx以应用更改:
sudo systemctl restart nginx

现在,您的CentOS服务器上的Nginx已配置为支持HTTPS。通过浏览器访问您的域名,您应该可以看到一个安全连接。

0
看了该问题的人还看了