在CentOS中配置Nginx以支持SSL证书,您需要遵循以下步骤:
- 安装EPEL和Remi存储库:
sudo yum install epel-release sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
- 启用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
- 安装Nginx和mod_ssl:
sudo yum install nginx mod_ssl
- 创建一个用于存放SSL证书和私钥的目录:
sudo mkdir /etc/pki/tls/certs sudo mkdir /etc/pki/tls/private
- 将您的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/
- 创建一个新的Nginx配置文件(例如:/etc/nginx/conf.d/your_domain.conf):
sudo vi /etc/nginx/conf.d/your_domain.conf
- 将以下内容粘贴到配置文件中,用您的域名替换
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; } }
- 重启Nginx以应用更改:
sudo systemctl restart nginx
现在,您的CentOS服务器上的Nginx已经配置为使用SSL证书进行HTTPS通信。