Files
nginxserver/memory/session-20260612-1.md
2026-07-16 13:03:11 +08:00

3.5 KiB
Raw Blame History

name, description, metadata
name description metadata
session-20260612-1 2026-06-12 第1次会话 — Nginx故障修复、证书列表同步、前端移动端适配、网关邮件测试
type date sessionNumber startTime
session 2026-06-12 1 2026-06-12T01:00+08:00

2026-06-12 第1次会话

会话摘要

本次会话完成多项修复和优化nginx 80/443端口不监听修复、SSL证书列表从Python API自动同步到DB、前端移动端响应式适配、网关邮件接口连通性验证。

关键操作

1. Nginx 80/443 端口不监听修复

  • 问题: 所有域名访问不了nginx 进程在跑但不监听 80/443
  • 根因: /etc/nginx/nginx.confhttp {} 块缺少 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.productionhttps://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: nginxServersystemName: nginx配置管理平台

重要信息

  • 网关: https://gw.server.zgitm.comhttp://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 服务稳定
  • 用户自行部署 JavaCertificateService 改动)
  • 用户自行构建部署前端MainLayout + 3页面 + 邮箱默认值)