首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

请问 nginx 怎样主动断开 TCP 长连接

  •  
  •   51300520 · 326 天前 · 1900 次点击
    这是一个创建于 326 天前的主题,其中的信息可能已经有所发展或是发生改变。

    nginx 支持长连接代理,我现在想像 HTTP 那样客户端直接连接 nginx,nginx 后面是若干微服务,但是我不知道怎样主动让 nginx 断开连接,比如某个用户登录连续三次失败,我的登录微服务判定该用户有风险,需要断开该用户的连接,我要怎样才能让 nginx 主动断开?

    恐怕做不到是吗?我是不是还是只能自己写网关接入用户才能自主可控,网关连接 nginx,nginx 后面是微服务这种架构?

    我想的是如果可以做到,就可以把自己写网关接入层省了。像 HTTP 那样,用户直接连 nginx,有人用过这种架构嘛?

    4 回复  |  直到 2018-12-01 14:12:30 +08:00
        1
    watzds   325 天前 via Android
    Keepalive ?也就几秒吧
        2
    whileFalse   325 天前
    详细说说场景
        3
    msg7086   325 天前
    返回 HTTP 444,让 nginx 主动关闭连接。
        4
    046569   325 天前
    可以用 ngx_lua 或者 ngx_mruby 模块.
    用户还是链接 Nginx , Nginx 在内部调用模块检查 Redis 中的黑名单,微服务登录失败时写入 Redis 黑名单.
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1057 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 39ms · UTC 18:44 · PVG 02:44 · LAX 11:44 · JFK 14:44
    ♥ Do have faith in what you're doing.