在 SailsJs 中保持活动状态
Keep-Alive in SailsJs
我想禁用从负载均衡器到我的 sailsjs 服务器的 TCP 连接的保持活动状态。所以基本上我想关闭 HTTP keep-alive。现在我的服务器响应 header
connection →keep-alive
我想知道我是否需要在 sails 服务器中调整特定设置以消除此问题?
从 sails 方面你有两个选择,都包括设置 HTTP header 来关闭连接而不是默认的 keep-alive 。
选项 1:
通过在实际响应之前添加以下代码,在控制器级别设置 header。这提供了更大的控制权,因为您可以决定哪个特定控制器关闭连接:
res.set("Connection", "close");
选项 2:
或者,您可以在中间件级别为所有连接设置 header。
为此,打开 config/http.js,在中间件 object 中创建一个新函数来设置 header 例如。 setHeaderClose,然后取消订单数组的注释并添加对上述函数的引用。
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();
}
我想禁用从负载均衡器到我的 sailsjs 服务器的 TCP 连接的保持活动状态。所以基本上我想关闭 HTTP keep-alive。现在我的服务器响应 header
connection →keep-alive
我想知道我是否需要在 sails 服务器中调整特定设置以消除此问题?
从 sails 方面你有两个选择,都包括设置 HTTP header 来关闭连接而不是默认的 keep-alive 。
选项 1: 通过在实际响应之前添加以下代码,在控制器级别设置 header。这提供了更大的控制权,因为您可以决定哪个特定控制器关闭连接:
res.set("Connection", "close");
选项 2: 或者,您可以在中间件级别为所有连接设置 header。
为此,打开 config/http.js,在中间件 object 中创建一个新函数来设置 header 例如。 setHeaderClose,然后取消订单数组的注释并添加对上述函数的引用。
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();
}