今天的博文将在 CentOS 系统上使用 Nginx 配置 HTTPS。同时,通过一些配置策略来禁止通过 IP 地址直接访问站点,增强安全性。更重要的是,如果在配置正确后访问仍然失败,将探讨可能的原因,例如 WAF 等防火墙设置的影响。
一、准备开始
在进行配置前,请确保您的 CentOS 服务器已经安装了 Nginx。此外,您还需要为您的域名准备一个有效的 SSL/TLS 证书。证书可以通过 Let’s Encrypt 免费获取,或从其他证书颁发机构购买。
二、安装 SSL 证书
Let’s Encrypt 提供了免费的证书和自动配置工具 Certbot,操作如下:
- 安装 Certbot 工具:
sudo yum install epel-release
sudo yum install certbot-nginx
- 运行 Certbot,获取并自动配置 SSL:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
请务必将 yourdomain.com 和 www.yourdomain.com 替换为您实际的域名。
三、Nginx 配置详解
在获取 SSL 证书后,Certbot 会尝试自动更新您的 Nginx 配置。以下是手动配置 HTTPS 的示例,包括如何禁止 IP 地址访问。
- 创建或编辑 Nginx 配置文件:
sudo nano /etc/nginx/conf.d/yourdomain.com.conf
- 增加以下配置,以支持 HTTPS 并禁止通过 IP 访问: