有没有办法在nginx中设置/替换/合并标头,就像在apache中可能的那样?
关于此链接http://nginx.org/en/docs/http/ngx_http_headers_module.html 看起来,它唯一可能添加一个标题。如果标题已经设置(例如通过php代码)并且应该替换/更改为正确的值,这会带来一些问题。
对于apache,可以设置/追加/合并并添加http://httpd.apache.org/docs/2.2/mod/mod_headers.html
这是一个基本的功能,所以它应该可以在某种程度上在nginx,但我无法找到。
答案 0 :(得分:2)
看看HttpHeadersMoreModule。
此模块允许您添加,设置或清除您指定的任何输出或输入标题。
这是标准标题模块的增强版本,因为它提供了更多实用程序,例如重置或清除"内置标头"例如Content-Type,Content-Length和Server。
它还允许您使用-s选项指定可选的HTTP状态代码条件,使用-t选项指定可选的内容类型条件,同时使用more_set_headers和more_clear_headers指令修改输出标头。
答案 1 :(得分:1)
实际上,Nginx的“ add_header”指令不会覆盖标头,但会添加该值(如果存在)。 但是从文档中还不清楚:http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header
但是在HttpHeadersMoreModule文档(https://github.com/openresty/headers-more-nginx-module#more_set_headers)中,它说: “如果要增量添加标头,请改用标准的add_header指令。”