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

74 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: session-20260612-1
description: 2026-06-12 第1次会话 — Nginx故障修复、证书列表同步、前端移动端适配、网关邮件测试
metadata:
type: session
date: 2026-06-12
sessionNumber: 1
startTime: 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.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**: nginxServersystemName: 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 服务稳定
- [ ] 用户自行部署 JavaCertificateService 改动)
- [ ] 用户自行构建部署前端MainLayout + 3页面 + 邮箱默认值)