首页>>帮助中心>>美国VPSNginx中add_header和proxy_set_header的区别及说明

美国VPSNginx中add_header和proxy_set_header的区别及说明

2024/9/13 124次

美国VPSNginx中add_header和proxy_set_header的区别及说明
add_header 用来在 Nginx 发送响应给客户端之前添加或覆盖 HTTP 响应头。它主要用于添加一些自定义的响应头字段,如安全相关的头字段 (Content-Security-Policy, X-XSS-Protection 等) 或者缓存控制相关的头字段 (Cache-Control)。

示例用法:
server {
listen 80;
server_name example.com;

location / {
add_header Content-Security-Policy "default-src 'self'; script-src 'self' cdn.example.com";
add_header X-XSS-Protection "1; mode=block";
add_header Cache-Control "max-age=3600, public";

# 其他配置...
}
}

proxy_set_header
proxy_set_header 则是在 Nginx 将请求转发给后端服务器之前设置 HTTP 请求头。它的主要用途是将某些客户端信息或者自定义信息传递给后端服务,例如客户端的真实 IP 地址、HTTP 方法等。

示例用法:
server {
listen 80;
server_name example.com;

location / {
proxy_pass ;

# 设置 X-Real-IP 和 X-Forwarded-For 头部
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# 其他配置...
}
}

主要区别:
1.作用对象不同:
add_header 用于修改 Nginx 发送给客户端的响应头。
proxy_set_header 用于修改 Nginx 发送给后端服务器的请求头。
2.使用场景不同:
add_header 通常用于添加安全策略、缓存控制或其它客户端可见的元数据。
proxy_set_header 通常用于传递客户端信息或自定义信息给后端服务器,比如客户端的真实 IP 地址、原始请求方法等。
3.影响范围不同:
add_header 影响最终到达客户端的响应。
proxy_set_header 影响发送给后端服务器的请求。

总结
使用 add_header 来添加或覆盖响应头,适用于添加安全策略、缓存控制等客户端可见的信息。
使用 proxy_set_header 来设置转发请求时的请求头,适用于向后端服务器传递客户端信息。

购买使用一诺网络美国云服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。美国云服务器低至49元/月,购买链接:https://www.enuoidc.com/vpszq.html?typeid=3