diff --git a/README.md b/README.md index 710dfd9..4c91448 100644 --- a/README.md +++ b/README.md @@ -104,11 +104,17 @@ BenchmarkNoHitLatency-4 1000 2205162 ns/op `frontd` 在设计上是安全性+性能+易于接入+易于维护的折中方案。其中: -* 使用加密地址,而不是预配置地址表,是出于易于维护的角度 -* 使用AES是安全性考虑,防止攻击者篡改变造后端目标地址 +* 使用加密地址,首先是出于安全角度: + 内网端口可以被扫描显然是绝对不能被接受的。所以我们使用最强的AES-256-CBC加密方法,攻击者就不能通过监听数据和篡改数据,篡改变造后端目标地址,来实现访问任意后端IP端口的情况。 +* 使用密文地址,而不是预配置地址表,是出于易维护端角度。 + 这样运维人员可以不必另外维护一份地址表,也不需要每次增减后端服务器时都再去更新 `frontd` 的配置。 * 使用文本而不是二进制通讯,是方便客户端和服务器列表部分功能的接入 + 相信这对于繁忙研发侧,是最快接入的方式。 +* 无状态,不增加业务功能 + 这是为了适配各种各样的后端服务。基本上无论后端架构如何,基本不需要改动关键代码来配合 `frontd` 工作。 折中意味着牺牲。因此,我们并不反对项目组在本代码基础上进行优化,但不建议弱化安全性的部分。 +也欢迎提交 Issue 和 Pull Request。 ### Developing