# 🚀 VPS 域名证书申请与 Nginx HTTPS 配置实战教程
一、 准备工作
- 域名解析:确保域名(如
wenin.edu.kg)已 A 记录解析到 VPS IP。 - 端口放行:在云服务器后台(安全组)和系统防火墙中放行 80(申请用)和 443(访问用)端口。
---
二、 申请 SSL 证书(acme.sh 方案)
1. 安装 acme.sh
curl https://get.acme.sh | sh -s email=你的真实邮箱@gmail.com
source ~/.bashrc
2. 修正账户邮箱(避坑指南)
如果之前误用了 example.com 导致报错,必须执行此步强制修正:
# 修正配置文件
sed -i "s/example.com/你的真实邮箱@gmail.com/g" ~/.acme.sh/account.conf
# 清理旧 CA 记录
rm -rf ~/.acme.sh/ca/
3. 使用 Standalone 模式申请
此模式成功率最高,但执行前必须确保 80 端口未被占用:
# 申请证书
acme.sh --issue -d wenin.edu.kg --standalone --server letsencrypt
4. 安装证书到 Nginx 目录
不要直接引用隐藏目录下的文件,使用安装命令同步到标准路径:
mkdir -p /etc/nginx/ssl
acme.sh --install-cert -d wenin.edu.kg --ecc \
--key-file /etc/nginx/ssl/wenin.key \
--fullchain-file /etc/nginx/ssl/wenin.pem
---
三、 配置 Nginx 反向代理
通过 Nginx 监听 443 端口,并将加密流量转发给本地的哆啦A梦面板(端口 6366)。
1. 安装 Nginx
apt update && apt install nginx -y
2. 写入配置文件
创建并编辑 /etc/nginx/conf.d/wenin.conf,写入以下纯净代码:
server {
listen 443 ssl;
server_name wenin.edu.kg;
ssl_certificate /etc/nginx/ssl/wenin.pem;
ssl_certificate_key /etc/nginx/ssl/wenin.key;
# SSL 优化配置
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:6366;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# 自动将 HTTP (80) 重定向到 HTTPS (443)
server {
listen 80;
server_name wenin.edu.kg;
return 301 https://$host$request_uri;
}
3. 生效配置
nginx -t # 检查语法是否正确
systemctl restart nginx # 重启 Nginx 生效
---
四、 维护与注意事项
访问地址:配置完成后,请直接访问 https://wenin.edu.kg,不要再带上 :6366 端口。
自动续期:acme.sh 会在每 60 天自动更新证书。由于我们使用了 Nginx 代理,建议添加续期自动重载任务:
acme.sh --upgrade --auto-upgrade
* 手动强制更新:如果需要手动触发更新,可执行:
acme.sh --renew -d wenin.edu.kg --force 