48 lines
3.1 KiB
Markdown
48 lines
3.1 KiB
Markdown
# 加密端口配置优化
|
||
|
||
## 需求确认
|
||
|
||
- SMTP 中继选择加密方式后自动填写端口,不要求用户记忆常用端口。
|
||
- 网页加密方式联动内置 HTTPS 开关和端口,反代模式继续停用 Smail 自动证书签发与续期。
|
||
- 读取配置不覆盖自定义端口;SMTP 主动切换加密方式后填写推荐值,允许再次手动调整。
|
||
- 使用可视化表单,不新增 JSON 编辑入口,不修改当前业务数据库或邮件数据。
|
||
- 重新编译并运行项目,确认实际运行的是更新后的前端。
|
||
|
||
## 任务状态
|
||
|
||
- [✓] 检查当前分支、工作区与运行状态,提交并推送修改前检查点。
|
||
- [✓] 完成 SMTP 加密方式与推荐端口联动。
|
||
- [✓] 完成网页访问方式与 HTTPS 端口联动。
|
||
- [✓] 提供推荐值说明和一键恢复入口,保留手动输入。
|
||
- [✓] 63 项前端测试,以及配置、验证邮件、HTTP 服务三个后端包测试通过。
|
||
- [✓] 前端和后端构建完成,普通权限启动成功,浏览器实际操作验收通过。
|
||
|
||
## 配置规则
|
||
|
||
| 配置方式 | 推荐端口 | 行为 |
|
||
| --- | --- | --- |
|
||
| SMTP STARTTLS | 587 | 主动切换时自动填写 |
|
||
| SMTP 隐式 TLS / TLS 兼容模式 | 465 | 主动切换时自动填写 |
|
||
| SMTP 本机不加密 | 25 | 仅限回环地址;远程明文拒绝通过校验 |
|
||
| 内置 HTTPS | 443 | 自动开启内置监听;缺少端口时补全,保留有效的自定义端口 |
|
||
| 内置模式 HTTP | 80 | 缺少端口时补全 |
|
||
| 反代模式 HTTP | 8080 | 缺少端口时补全;已有监听端口不强制修改,HTTPS 端口归零 |
|
||
|
||
一键使用推荐端口只修改当前草稿,仍需完成校验、保存候选与应用流程。它不会立即重启服务,也不会更改反代服务器的配置。
|
||
|
||
邮件服务端口与 SMTP 中继端口不是同一组设置。本次不把收信端口 25 替换为客户端提交端口 465/587,也不把已有固定 TLS 监听伪装成可切换的加密模式。
|
||
|
||
## 验收范围
|
||
|
||
自动测试在 `test-log/` 下的独立空目录运行,不连接实际业务数据库。开发服务沿用根目录 `config/` 下的现有运行配置。本次不执行清空真实账号、邮件、凭据或密钥的操作,不将表单交互验收等同于外部邮件投递或生产反代验收。
|
||
|
||
## 验收记录
|
||
|
||
- 前端测试:`node test/run.mjs frontend`,63 项通过。
|
||
- 后端定向回归:`node test/run.mjs backend -count=1 ./config ./services/verification ./listen/http_server`,三个包通过。
|
||
- 构建:`powershell -NoProfile -ExecutionPolicy Bypass -File deploy/build.ps1`。
|
||
- 浏览器确认内置 HTTPS 自动补全、反代字段切换、四种 SMTP 选项的端口联动、自定义输入、恢复推荐值、远程明文错误提示。
|
||
- 重启后刷新保持登录;浏览器控制台无错误或警告,候选配置为空,当前配置未被测试草稿覆盖。
|
||
- 测试日志和交互记录位于 `test-log/`。本次未运行完整后端全量回归、真实邮件投递或生产反代端到端验收。
|
||
- 构建仍有部分资源包超过 500 kB 的体积警告,不影响构建成功;未将其描述为已消除。
|