要使Nginx支持HTTPS,您需要完成以下步骤。假设您已经在服务器上安装了Nginx,并且有基本的Linux命令行操作经验。
步骤 1: 获取SSL证书
首先,您需要获得一个SSL/TLS证书。有几种方法可以获取证书:
- 购买证书:从受信任的证书颁发机构(如Comodo, DigiCert等)购买证书。
- Let's Encrypt:免费的、自动化的和开放的证书颁发机构。推荐使用Let's Encrypt,因为它简单且免费。
使用Let's Encrypt获取证书:
- 安装Certbot:
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
- 运行Certbot并获取证书:
sudo certbot --nginx -d example.com -d www.example.com
这将自动配置Nginx以使用HTTPS,并将证书文件放置在适当的位置。
步骤 2: 配置Nginx
如果使用Let's Encrypt,上面的步骤已经自动更新了您的Nginx配置文件。但是,如果您手动获取了证书,或者想手动配置Nginx,您需要编辑Nginx配置文件。
- 打开Nginx配置文件:
sudo nano /etc/nginx/sites-available/default
- 在server块中添加以下内容:
server {
listen 443 ssl;
server_name example.com www.example.com;
# SSL证书路径
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
# 其他SSL配置选项
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_stapling on;
ssl_stapling_verify on;
location / {
root /var/www/html;
index index.html index.htm;
}
}
- 保存并关闭配置文件。
步骤 3: 测试并重启Nginx
在更改任何配置后,应该测试配置的有效性,然后重启Nginx。
- 检查配置文件语法:
sudo nginx -t
- 如果没有错误信息,重启Nginx:
sudo systemctl restart nginx
现在,Nginx服务器应该已经启用了HTTPS支持。通过访问https://example.com
来验证这一点。如果使用的是Let's Encrypt,记得设置cron job或定时任务来自动续订证书(通常每90天一次)。