在部署网站或应用时,为保障数据传输安全,SSL证书的配置必不可少,对于使用虚拟专用服务器(VPS)的用户,将证书文件上传至服务器并正确配置是关键步骤,本文将详细讲解如何高效地将证书上传至VPS,并确保其被Web服务器正确调用。
获取证书文件
-
选择证书来源
- 若使用免费证书(如Let’s Encrypt),可通过工具如
Certbot自动获取。 - 若购买商业证书,需从证书颁发机构(CA)下载证书文件(通常包含
.crt或.pem格式文件)。
- 若使用免费证书(如Let’s Encrypt),可通过工具如
-
安装Certbot(以Ubuntu为例)
sudo apt update sudo apt install certbot
-
获取证书
使用Certbot获取证书时,需指定域名并启用非交互模式:sudo certbot certonly --non-interactive --agree-tos --email your-email@example.com -d yourdomain.com
成功后会生成证书文件,默认路径为:
/etc/letsencrypt/live/yourdomain.com/该目录下包含以下文件:
cert.pem(证书文件)privkey.pem(私钥文件)chain.pem(中间证书,部分服务器需要合并证书)
上传证书至VPS
证书文件通常已通过Certbot自动生成并保存在VPS的/etc/letsencrypt/live/域名/目录中,若手动下载证书,需:
-
将证书文件传输至VPS
使用scp命令从本地计算机上传至VPS:scp /path/to/local/cert.pem userName@your-vps-ip:/etc/nginx/ssl/cert.pem
或通过FTP工具(如FileZilla)手动上传。
-
确保目录权限正确
- 证书文件权限应为
600,仅允许root用户访问:sudo chmod 600 /etc/nginx/ssl/cert.pem
- 证书文件权限应为
配置Web服务器调用证书
以Nginx和Apache为例,修改服务器配置文件以引用证书路径:
-
Nginx配置
编辑Nginx站点配置文件(如/etc/nginx/sites-available/default),在server块中添加:server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/nginx/ssl/cert.pem; # 证书路径 ssl_certificate_key /etc/nginx/ssl/privkey.pem; # 私钥路径 # 其他配置... }修改后,重启Nginx:
sudo systemctl restart nginx
-
Apache配置
编辑Apache的SSL配置文件(如/etc/apache2/sites-available/your-site.conf),在<VirtualHost>块中添加:<VirtualHost *:443> ServerName yourdomain.com SSLEngine on SSLCertificateFile /etc/apache2/ssl/cert.pem SSLCertificateKeyFile /etc/apache2/ssl/privkey.pem # 若需合并中间证书,使用: # SSLCertificateChainFile /etc/apache2/ssl/chain.pem </VirtualHost>重启Apache:
sudo systemctl restart apache2
验证配置
使用在线工具检查证书配置是否正确:
确保显示“A+”评级且证书链完整。
自动化证书续期
Let’s Encrypt证书有效期为90天,建议设置定时任务自动续期:
sudo crontab -e
添加以下行:
0 1 1 * * certbot renew --quiet && sudo systemctl reload nginx
此命令每月1日凌晨1点执行证书续期,并自动重新加载Nginx。
通过上述步骤,您已成功将证书上传至VPS并完成配置,核心要点包括:
- 确保证书文件权限正确。
- 根据Web服务器类型正确引用证书路径。
- 定期检查证书状态并自动续期。
配置完成后,您的网站即可通过HTTPS安全访问,提升用户体验和数据安全性。

还没有评论,来说两句吧...