在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设置为没有第二个值。根据{{3}},如果没有此[second]参数,nginx不会发送Keep-Alive标头。输出设置为:
keepalive_timeout 60s;
我们尝试过使用和设置NGINX HttpCoreModule documentation 和http://wiki.nginx.org/HttpHeadersMoreModule#more_clear_headers:
more_clear_headers 'Connection';
more_clear_input_headers 'Connection';
我们也尝试过:
rewrite_by_lua '
ngx.req.clear_header("Connection")
';
甚至是:
more_clear_headers 'Connection*';
但我们仍然看到标题。我们发送了如此多的回复,以至于Connection标题实际上花费了我们每月200美元。
感谢任何帮助。
相关且有帮助:http://wiki.nginx.org/HttpHeadersMoreModule#more_clear_input_headers