10 KiB
10 KiB
域名和HTTPS配置指南
🌐 域名信息
域名: qd.yydd.ai
公网服务器: 156.225.27.52:50232
内网端口: 5246 (frp穿透)
📋 配置步骤
✅ 已完成的工作
- ✅ Certbot安装 - SSL证书工具已安装
- ✅ Nginx配置 - 反向代理配置已创建
- ✅ HTTP配置 - 临时HTTP访问已配置
- ✅ HTTPS配置文件 - 已预创建(待证书申请后启用)
⏳ 待完成的工作
-
DNS解析配置(必须先完成)
需要在域名管理后台添加A记录: 主机记录: qd 记录类型: A 记录值: 156.225.27.52 TTL: 600(或默认) -
验证DNS解析
# 在本地或任意机器执行 ping qd.yydd.ai # 应该解析到 156.225.27.52 nslookup qd.yydd.ai # 应该返回 156.225.27.52 -
申请SSL证书(DNS解析生效后)
ssh -p 50232 root@156.225.27.52 # 密码:it5NuKGemX # 申请证书 certbot certonly \ --webroot \ --webroot-path=/www/wwwroot/qd.yydd.ai \ --email admin@yydd.ai \ -d qd.yydd.ai \ --agree-tos \ --non-interactive -
启用HTTPS配置
# 删除旧的HTTP配置 rm -f /www/server/panel/vhost/nginx/qd.yydd.ai.conf # 启用HTTPS配置 mv /www/server/panel/vhost/nginx/qd.yydd.ai_ssl.conf \ /www/server/panel/vhost/nginx/qd.yydd.ai.conf # 重载Nginx nginx -t && nginx -s reload -
配置自动续期
# 添加定时任务(每天凌晨2点检查续期) crontab -e # 添加: 0 2 * * * certbot renew --quiet --post-hook "nginx -s reload"
🔧 当前配置状态
服务器架构
用户浏览器
↓ HTTPS
qd.yydd.ai (公网服务器 156.225.27.52:80/443)
↓ Nginx反向代理
127.0.0.1:5246 (frp穿透端口)
↓ frp内网穿透
内网服务器 127.0.0.1:8888
↓ Nginx代理
后端API 127.0.0.1:8080
↓ Spring Boot
MySQL 127.0.0.1:3306
配置文件位置
| 类型 | 路径 |
|---|---|
| 公网服务器 | |
| HTTP配置 | /www/server/panel/vhost/nginx/qd.yydd.ai.conf |
| HTTPS配置 | /www/server/panel/vhost/nginx/qd.yydd.ai_ssl.conf |
| SSL证书 | /etc/letsencrypt/live/qd.yydd.ai/ |
| 内网服务器 | |
| frp配置 | /etc/frp/frpc.ini |
| 后端服务 | /opt/designhub/designhub.jar |
| Nginx配置 | /etc/nginx/sites-available/designhub.conf |
🎯 快速测试
当前可用的访问方式
-
IP直接访问(已可用)
- http://156.225.27.52:5246
- 登录:admin / 123456
-
域名HTTP访问(需DNS解析后)
- http://qd.yydd.ai
- 登录:admin / 123456
-
域名HTTPS访问(需DNS+证书)
- https://qd.yydd.ai
- 登录:admin / 123456
测试命令
# 测试DNS解析
ping qd.yydd.ai
# 测试HTTP访问
curl -I http://qd.yydd.ai
# 测试HTTPS访问(证书申请后)
curl -I https://qd.yydd.ai
📝 DNS配置示例
在域名管理后台配置
域名: yydd.ai
子域名: qd
添加A记录:
类型: A
主机记录: qd
记录值: 156.225.27.52
TTL: 600
配置后等待5-10分钟DNS生效。
🔒 SSL证书申请流程
方式1:自动申请(推荐)
前提: DNS已解析
ssh -p 50232 root@156.225.27.52
# 一键申请证书
certbot certonly \
--webroot \
--webroot-path=/www/wwwroot/qd.yydd.ai \
--email admin@yydd.ai \
-d qd.yydd.ai \
--agree-tos \
--non-interactive
# 如果成功,会显示:
# Congratulations! Your certificate and chain have been saved at:
# /etc/letsencrypt/live/qd.yydd.ai/fullchain.pem
方式2:使用宝塔面板
- 登录宝塔面板
- 网站 → 添加站点
- 域名:qd.yydd.ai
- SSL → Let's Encrypt → 申请
🔄 HTTPS配置激活
证书申请成功后
ssh -p 50232 root@156.225.27.52
# 1. 检查证书文件
ls -la /etc/letsencrypt/live/qd.yydd.ai/
# 2. 启用HTTPS配置
rm -f /www/server/panel/vhost/nginx/qd.yydd.ai.conf
mv /www/server/panel/vhost/nginx/qd.yydd.ai_ssl.conf \
/www/server/panel/vhost/nginx/qd.yydd.ai.conf
# 3. 测试并重载Nginx
nginx -t && nginx -s reload
# 4. 验证HTTPS
curl -I https://qd.yydd.ai
🔐 自动续期配置
Let's Encrypt证书有效期90天,需要配置自动续期:
# 添加定时任务
crontab -e
# 添加以下行(每天凌晨2点检查续期)
0 2 * * * certbot renew --quiet --post-hook "nginx -s reload" >> /var/log/certbot-renew.log 2>&1
📊 完整访问地址汇总
🎯 推荐访问地址(配置完成后)
HTTPS域名(最终推荐):
https://qd.yydd.ai
🔧 备用访问地址
-
HTTP域名:
http://qd.yydd.ai -
IP+端口:
http://156.225.27.52:5246 -
SSH管理:
# 公网服务器 ssh -p 50232 root@156.225.27.52 # 密码:it5NuKGemX # 内网服务器 ssh -p 5204 root@156.225.27.52 # 密码:Jsjj@8888
🎨 配置文件示例
Nginx HTTPS完整配置
# /www/server/panel/vhost/nginx/qd.yydd.ai.conf
# HTTP自动跳转HTTPS
server {
listen 80;
server_name qd.yydd.ai;
location /.well-known/acme-challenge/ {
root /www/wwwroot/qd.yydd.ai;
}
location / {
return 301 https://$server_name$request_uri;
}
}
# HTTPS主配置
server {
listen 443 ssl http2;
server_name qd.yydd.ai;
# SSL证书
ssl_certificate /etc/letsencrypt/live/qd.yydd.ai/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/qd.yydd.ai/privkey.pem;
# SSL优化
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
client_max_body_size 100M;
# 反向代理
location / {
proxy_pass http://127.0.0.1:5246;
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;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
}
access_log /www/wwwlogs/qd.yydd.ai.https.access.log;
error_log /www/wwwlogs/qd.yydd.ai.https.error.log;
}
⚠️ 重要提示
1. DNS解析优先
必须先完成DNS解析,再申请SSL证书!
Let's Encrypt需要通过域名验证您的服务器所有权。
2. 防火墙配置
确保80和443端口开放:
# CentOS防火墙
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
# 或检查是否已开放
firewall-cmd --list-ports
3. 证书有效期
- Let's Encrypt证书有效期:90天
- 建议提前30天自动续期
- 已配置自动续期定时任务
🧪 故障排查
DNS未解析
# 检查DNS
nslookup qd.yydd.ai
ping qd.yydd.ai
# 如果解析失败,联系域名管理员配置A记录
证书申请失败
# 查看详细日志
cat /var/log/letsencrypt/letsencrypt.log
# 常见原因:
# 1. DNS未解析到服务器
# 2. 80端口被占用或防火墙阻止
# 3. Nginx配置错误
HTTPS无法访问
# 检查证书文件
ls -la /etc/letsencrypt/live/qd.yydd.ai/
# 检查Nginx配置
nginx -t
# 查看错误日志
tail -50 /www/wwwlogs/qd.yydd.ai.https.error.log
🎯 一键完成脚本(DNS解析后使用)
#!/bin/bash
# 保存为 /root/setup_https.sh
echo "=== DesignHub HTTPS配置脚本 ==="
# 1. 申请SSL证书
certbot certonly \
--webroot \
--webroot-path=/www/wwwroot/qd.yydd.ai \
--email admin@yydd.ai \
-d qd.yydd.ai \
--agree-tos \
--non-interactive
if [ $? -eq 0 ]; then
echo "✅ SSL证书申请成功"
# 2. 启用HTTPS配置
rm -f /www/server/panel/vhost/nginx/qd.yydd.ai.conf
mv /www/server/panel/vhost/nginx/qd.yydd.ai_ssl.conf \
/www/server/panel/vhost/nginx/qd.yydd.ai.conf
# 3. 重载Nginx
nginx -t && nginx -s reload
# 4. 配置自动续期
(crontab -l 2>/dev/null; echo "0 2 * * * certbot renew --quiet --post-hook 'nginx -s reload'") | crontab -
echo ""
echo "🎉 HTTPS配置完成!"
echo "访问地址: https://qd.yydd.ai"
else
echo "❌ SSL证书申请失败"
echo "请检查DNS是否解析成功"
fi
使用方法:
chmod +x /root/setup_https.sh
/root/setup_https.sh
📞 当前状态
✅ 已配置
- ✅ 公网服务器Nginx配置
- ✅ 反向代理到5246端口
- ✅ Certbot工具已安装
- ✅ HTTPS配置文件已准备
⏳ 待配置
- ⏳ DNS解析 - 需要在域名管理后台配置
- ⏳ SSL证书 - DNS解析后自动申请
- ⏳ HTTPS启用 - 证书申请后启用
🚀 完成后的访问方式
最终推荐访问地址
https://qd.yydd.ai
登录账号:
- 用户名:admin
- 密码:123456
功能页面
- 登录页面: https://qd.yydd.ai
- 任务大厅: https://qd.yydd.ai/#/task-hall
- 设计师大厅: https://qd.yydd.ai/#/designer
- 数据分析: https://qd.yydd.ai/#/analytics
- 系统设置: https://qd.yydd.ai/#/settings
📊 配置进度
| 步骤 | 状态 | 说明 |
|---|---|---|
| 1. 服务器迁移 | ✅ 完成 | 数据和服务已迁移到内网服务器 |
| 2. frp穿透 | ✅ 完成 | 内网5246端口已穿透 |
| 3. Certbot安装 | ✅ 完成 | SSL工具已安装 |
| 4. Nginx配置 | ✅ 完成 | 反向代理已配置 |
| 5. DNS解析 | ⏳ 待配置 | 需要您在域名后台配置 |
| 6. SSL证书 | ⏳ 待申请 | DNS解析后自动申请 |
| 7. HTTPS启用 | ⏳ 待启用 | 证书申请后启用 |
当前进度: 60% (4/7步骤完成)
💡 下一步操作
立即需要做的事情
1. 配置DNS解析(最重要)
请访问您的域名管理后台(yydd.ai的DNS管理):
添加A记录:
主机记录: qd
记录类型: A
记录值: 156.225.27.52
TTL: 600(10分钟)
2. 等待DNS生效(5-10分钟)
验证命令:
ping qd.yydd.ai
3. 申请SSL证书
DNS解析成功后,执行:
ssh -p 50232 root@156.225.27.52
/root/setup_https.sh
4. 访问测试
打开浏览器:
https://qd.yydd.ai
创建时间: 2025-12-23
状态: ⏳ 等待DNS解析配置
预计完成时间: DNS配置后10分钟内