在 Nginx 中,当我们作为代理向后端服务器转发请求时,有时候我们需要在响应头中添加一些自定义的头信息。这可以通过使用 add_header
指令来完成,该指令通常在 server
或 location
块中指定。
以下是 Nginx 配置文件中添加自定义响应头的一个例子:
nginxserver { listen 80; server_name example.com; location / { proxy_pass http://backend_server; # 此处是你的后端服务器地址 add_header X-Proxy-Cache $upstream_cache_status; # 其他代理设置,例如设置代理头信息等 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
在上面的配置中,我们为所有通过 /
location 块代理的请求添加了一个名为 X-Proxy-Cache
的自定义响应头。该头的值设置为 $upstream_cache_status
变量的值,这个变量通常用来表示后端服务器的缓存状态。
需要注意的是,add_header
指令不仅可以添加常量值的头,还可以添加由 Nginx 变量动态生成的值。然而,如果使用了 add_header
指令,你需要确保复制所有默认的头信息,因为 add_header
指令会覆盖 Nginx 的默认行为,只输出你在配置中明确指定的头。
上述配置仅是一个简单的例子,你可以根据实际需要添加其他的响应头或者进行更复杂的配置。