在CentOS中配置Nginx以支持HTTPS,您需要遵循以下步骤:
- 安装EPEL和Remi存储库:
sudo yum install epel-release sudo yum install http://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证书和私钥。您可以使用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.com
和www.yourdomain.com
替换为您的域名。
- 配置Nginx以使用生成的证书和私钥:
编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。找到server
块,并修改listen
和ssl_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.com
和www.yourdomain.com
替换为您的域名。
- 重启Nginx以应用更改:
sudo systemctl restart nginx
现在,您的CentOS服务器上的Nginx已配置为支持HTTPS。通过浏览器访问您的域名,您应该可以看到一个安全连接。