3.5 KiB
3.5 KiB
name, description, metadata
| name | description | metadata | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| session-20260612-1 | 2026-06-12 第1次会话 — Nginx故障修复、证书列表同步、前端移动端适配、网关邮件测试 |
|
2026-06-12 第1次会话
会话摘要
本次会话完成多项修复和优化:nginx 80/443端口不监听修复、SSL证书列表从Python API自动同步到DB、前端移动端响应式适配、网关邮件接口连通性验证。
关键操作
1. Nginx 80/443 端口不监听修复
- 问题: 所有域名访问不了,nginx 进程在跑但不监听 80/443
- 根因:
/etc/nginx/nginx.conf的http {}块缺少include /etc/nginx/conf.d/*.conf;(上次加 gzip 时误删) - 修复: 在 gzip_min_length 行后补回 include 指令,
nginx -t通过后 reload - 结果: 80/443 恢复监听,域名访问正常
- 备份:
/etc/nginx/nginx.conf.bak.20260612
2. 删除 wg.server.zgitm.com 转发规则
- 原因: 用户新增时提示"规则已存在",选择删除重建
- 操作: 通过 Python API
DELETE /api/nginx/rules/wg.server.zgitm.com - 结果: 规则和 nginx conf 文件同时删除
3. SSL 证书列表不显示修复 (Java)
- 问题: 证书管理页面只显示 2 条(zgitm.com/www.zgitm.com),转发规则创建的 HTTPS 证书不显示
- 根因:
CertificateService.listCertificates()只查 MySQL certificates 表,转发规则创建时未写入该表 - 修复:
listCertificates()改为从 Python API 全量同步- 调用
pythonApiClient.listCerts()获取文件系统所有证书 - 自动发现 → 根据 issuer 判断 certType → 写入/更新 DB
- 已有记录保留通知配置,只刷新文件路径/到期时间
- 调用
- 文件:
CertificateService.java
4. 证书列表性能优化
- 方案: 5 分钟缓存 (CACHE_TTL_SECONDS=300)
- 首次同步后 5 分钟内直接读数据库
- 签发/续期成功后自动失效缓存 (
lastSyncTime = null)
- 线程安全:
synchronized+ 双重检查isSyncNeeded()
5. 前端修改
- 通知设置默认邮箱:
CertManagement.vue— 空邮箱时默认zg@zgitm.com - API 地址:
.env.development/.env.production→https://nginx.server.zgitm.com
6. 前端移动端适配
- MainLayout.vue: 汉堡菜单按钮 + CSS 动画侧边栏 + 遮罩层 + resize 监听
- NginxForwarding.vue: 工具栏垂直排列、表格横向滚动 (overflow-x: auto)、对话框 95% 宽
- CertManagement.vue: 同上 + 通知对话框适配
- DnsManagement.vue: 工具栏折叠、表格滚动
- App.vue: 全局消除点击高亮、触摸区增大、字号缩小
- 断点: ≤768px 自动切换移动布局
7. 网关邮件接口连通性验证
- Token:
POST https://gw.server.zgitm.com/zgapi/v1/open/token— 200 OK - 发邮件:
POST .../zgapi/v1/open/email/send— 重启后 200 OK - 网关后端:
http://10.10.1.170:9000 - systemCode: nginxServer,systemName: nginx配置管理平台
重要信息
- 网关:
https://gw.server.zgitm.com→http://10.10.1.170:9000 - Java 后端:
10.10.1.170:4002(nginx.server.zgitm.com) - Python API:
10.1.1.160:5000 - MySQL:
10.1.1.122:3306(nginxserver/mokee.) - 用户自己用 IDEA 部署 Java/前端
待处理
- 网关邮件接口确认 10.10.1.170:9000 服务稳定
- 用户自行部署 Java(CertificateService 改动)
- 用户自行构建部署前端(MainLayout + 3页面 + 邮箱默认值)