centos

Nginx在CentOS中如何配置SSL证书

小樊
87
2025-02-08 11:29:06
栏目: 云计算

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

  1. 安装EPEL和Remi存储库:
sudo yum install epel-release
sudo yum install https://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证书和私钥的目录:
sudo mkdir /etc/pki/tls/certs
sudo mkdir /etc/pki/tls/private
  1. 将您的SSL证书文件(例如:your_domain.crt)和私钥文件(例如:your_domain.key)复制到相应的目录中:
sudo cp /path/to/your_domain.crt /etc/pki/tls/certs/
sudo cp /path/to/your_domain.key /etc/pki/tls/private/
  1. 创建一个新的Nginx配置文件(例如:/etc/nginx/conf.d/your_domain.conf):
sudo vi /etc/nginx/conf.d/your_domain.conf
  1. 将以下内容粘贴到配置文件中,用您的域名替换your_domain
server {
    listen 80;
    server_name your_domain;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name your_domain;

    ssl_certificate /etc/pki/tls/certs/your_domain.crt;
    ssl_certificate_key /etc/pki/tls/private/your_domain.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    location / {
        root /var/www/html;
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
  1. 重启Nginx以应用更改:
sudo systemctl restart nginx

现在,您的CentOS服务器上的Nginx已经配置为使用SSL证书进行HTTPS通信。

0
看了该问题的人还看了