在NGINX提供的任何响应中,如何删除 "Connection: keep-alive "头?
我们从NGINX为10个以下的客户提供每月100B+100字节的响应,用于基于RTB的广告服务。我们试图将开销(数据大小)降到最低,以节省带宽成本。我们不希望实际让NGINX关闭连接,只想从头中删除它。客户端不是浏览器,会按照HTTP1.1规范保持连接的开放。
我们已经成功地从我们的 "无操作 "响应(204)中删除了默认的响应头。HttpHeadersMoreModule. 它看起来像这样。
HTTP/1.1 204 No Content
Connection: keep-alive
我们要删除另一个头,所以看起来是这样的。
HTTP/1.1 204 No Content
我们的keepalive_timeout被设置为没有第二个值。根据 NGINX HttpCoreModule文档如果没有这个[第二个]参数,nginx不发送Keep-Alive头。输出设置是。
keepalive_timeout 60s;
我们已经尝试过使用和设置这两个参数 http:/wiki.nginx.orgHttpHeadersMoreModule#more_clear_headers。和 http:/wiki.nginx.orgHttpHeadersMoreModule#more_clear_input_headers。:
more_clear_headers 'Connection';
more_clear_input_headers 'Connection';
我们也试过了。
rewrite_by_lua '
ngx.req.clear_header("Connection")
';
甚至是..:
more_clear_headers 'Connection*';
但我们还是能看到头。 我们发送了这么多的响应,连接头实际上花费我们像200美元一个月。
任何帮助都是感激的。
相关的和有用的。Nginx和原始头