大概是这样的场景:
-
我服务器上有若干个第三方服务
-
我需要这些服务在公网下可以访问,但只想被我自己或者被我授权的人可以访问
-
这些第三方服务可能没有鉴权机制,或者有一套自己的用户系统,没办法和我们内部的系统相互整合
因此,差不多是这样:
-
使用者先访问指定的登录页面,登录后会把 IP 添加到 Redis 中(开发者自己编写)
-
该工具是一个网关,会读取 Redis 中的白名单 IP ,来决定是放行还是拒绝
-
该工具会将用户的最后访问时间同样记录到 Redis 中(开发者可以依靠这个时间自动从白名单中移除长时间未访问的 IP )
原始需求其实是为了在公网下使用 @blucas01 前辈的 pagespy ,但我想要游客也必须鉴权后才能上报日志,避免被人恶意提交或 DDoS