删除“;连接:保持活力”;使用HTTP/1.1的NGINX 204响应中的响应头

删除“;连接:保持活力”;使用HTTP/1.1的NGINX 204响应中的响应头,http,nginx,http-headers,httpresponse,keep-alive,Http,Nginx,Http Headers,Httpresponse,Keep Alive,在NGINX提供的任何响应中,如何删除“Connection:keep-alive”头 我们从NGINX为10个以下的客户端提供100B+/月的低于100字节的响应,用于基于RTB的广告服务。我们正试图最小化开销(数据大小),以节省带宽成本。我们不想让NGINX实际关闭连接,只想将其从标头中删除。客户端不是浏览器,将根据HTTP/1.1规范保持连接打开 我们已经使用成功地从“无操作”响应(204)中删除了默认响应头。看起来是这样的: HTTP/1.1 204 No Content Connect

在NGINX提供的任何响应中,如何删除“Connection:keep-alive”头

我们从NGINX为10个以下的客户端提供100B+/月的低于100字节的响应,用于基于RTB的广告服务。我们正试图最小化开销(数据大小),以节省带宽成本。我们不想让NGINX实际关闭连接,只想将其从标头中删除。客户端不是浏览器,将根据HTTP/1.1规范保持连接打开

我们已经使用成功地从“无操作”响应(204)中删除了默认响应头。看起来是这样的:

HTTP/1.1 204 No Content
Connection: keep-alive
HTTP/1.1 204 No Content
我们希望删除另一个标题,使其看起来像这样:

HTTP/1.1 204 No Content
Connection: keep-alive
HTTP/1.1 204 No Content
设置keepalive_超时时没有第二个值。根据,没有这个[second]参数,nginx不会发送Keep-Alive报头。出发地点为:

keepalive_timeout 60s;
我们已经尝试使用和设置了这两种方法 以及:

我们还尝试:

rewrite_by_lua '
    ngx.req.clear_header("Connection")
    ';
甚至是:

more_clear_headers 'Connection*';
但我们仍然可以看到头球。我们发送了如此多的响应,以至于连接头实际上每月花费我们大约200美元

感谢您的帮助


相关且有帮助:

正如@agentzh在这里指出的那样:,“实际删除连接头的唯一方法是修补Nginx核心,即编辑src/http/ngx\u http\u header\u filter\u module.C文件中的C函数ngx\u http\u header\u filter。”