nginx 支持长连接代理,我现在想像 HTTP 那样客户端直接连接 nginx,nginx 后面是若干微服务,但是我不知道怎样主动让 nginx 断开连接,比如某个用户登录连续三次失败,我的登录微服务判定该用户有风险,需要断开该用户的连接,我要怎样才能让 nginx 主动断开?
恐怕做不到是吗?我是不是还是只能自己写网关接入用户才能自主可控,网关连接 nginx,nginx 后面是微服务这种架构?
我想的是如果可以做到,就可以把自己写网关接入层省了。像 HTTP 那样,用户直接连 nginx,有人用过这种架构嘛?
1
watzds 2018-12-01 10:04:16 +08:00 via Android
Keepalive ?也就几秒吧
|
2
whileFalse 2018-12-01 11:23:12 +08:00
详细说说场景
|
3
msg7086 2018-12-01 13:06:41 +08:00
返回 HTTP 444,让 nginx 主动关闭连接。
|
4
046569 2018-12-01 14:12:30 +08:00
可以用 ngx_lua 或者 ngx_mruby 模块.
用户还是链接 Nginx , Nginx 在内部调用模块检查 Redis 中的黑名单,微服务登录失败时写入 Redis 黑名单. |