代码之家  ›  专栏  ›  技术社区  ›  akhabaiev

航行中保持活力

  •  0
  • akhabaiev  · 技术社区  · 7 年前

    我想禁用从负载平衡器到sailsjs服务器的TCP连接的保持活动。所以基本上我想关闭HTTP保持活动。现在,我的服务器以标头响应

    connection →keep-alive
    

    我想知道是否有一个特定的设置,我需要调整在赛尔服务器,使之消失?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Glen    7 年前

    从sails方面来看,您有两个选项,都包括设置一个HTTP头来关闭连接,而不是默认的保持活动。

    备选方案1: 通过在实际响应之前添加以下代码,在控制器级别设置标题。这提供了更大的控制,因为您可以决定哪个特定控制器关闭连接:

    res.set("Connection", "close");
    

    选项2: 或者,您可以在中间件级别为所有连接设置标头。

    为此,请打开config/http。js中,在中间件对象内创建一个新函数来设置标题,例如setHeaderClose,然后取消对order数组的注释并添加对上述函数的引用。

    order: [
        'setHeaderClose',
        'startRequestTimer',
        'cookieParser',
        'session',
        'myRequestLogger',
        'bodyParser',
        'handleBodyParserError',
        'compress',
        'methodOverride',
        'poweredBy',
        '$custom',
        'router',
        'www',
        'favicon',
        '404',
        '500'
    ],
    
    setHeaderClose: function(req, res, next) {
        res.set("Connection", "close");
        next();
    }