在NGINX提供的任何响应中,如何删除"Connection:keep-alive"标题?
我们为来自NGINX的10个客户提供100B + /月的子100字节响应,用于基于RTB的广告服务.我们正在尝试最小化开销(数据大小)以节省带宽成本.我们不希望实际让NGINX关闭连接,只将其从标头中删除.客户端不是浏览器,将根据HTTP/1.1规范保持连接打开.
我们已经使用HttpHeadersMoreModule从"无操作"响应(204)中成功删除了默认响应头.它看起来像这样:
HTTP/1.1 204 No Content Connection: keep-alive
我们想要删除其他标头,因此它看起来像这样:
HTTP/1.1 204 No Content
我们的keepalive_timeout设置为没有第二个值.根据NGINX HttpCoreModule文档,如果没有此[second]参数,nginx不会发送Keep-Alive标头.外出设置是:
keepalive_timeout 60s;
我们尝试过使用和设置http://wiki.nginx.org/HttpHeadersMoreModule#more_clear_headers 和http://wiki.nginx.org/HttpHeadersMoreModule#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*';
但我们仍然看到标题.我们发送的回复如此之多,以至于Connection标题实际上花费了我们每月200美元的费用.
任何帮助表示赞赏.
相关和有用:Nginx和原始标头