Nginx反向代理之proxy_set_header指令

该指令可以更改Nginx服务器接收到的客户端请求的请求头信息,然后 将新的请求头发送给代理的服务器

proxy_set_header是什么意思呢?

这里涉及到客户端,代理服务器,被代理的服务器

一般都是客户端先向代理服务器发送请求,代理服务器获取请求之后,能够获取到请求头的信息

客户端在发送请求的时候,会携带一些头信息

语法:proxy_set_header field value;

其中field是头信息的属性名,而value是该属性名所对应的属性值

它的默认值是:

proxy_set_header Host $proxy_host;

proxy_set_header Connection close;

它的存储位置在:

http、server、location 三个位置当中

需要注意的是,如果想要看到结果,必须在被代理的服务器上来获取添 加的头信息。

被代理服务器:[192.168.200.146]

server {
 listen  8080;
 server_name localhost;
 default_type text/plain;
 return 200 $http_username;
 }

代理服务器: [192.168.200.133]

server {
 listen  8080;
 server_name localhost;
 location /server {
 proxy_pass 
http://192.168.200.146:8080/;
 proxy_set_header username TOM;
 }
 }

具体配置流程:第一步,打开146这台服务器,这是一台被代理服务器

使用 vim ../conf/nginx.conf //打开配置资料

在配置文件中添加server模块,使用$http_username,可以获取请求头中的username内容,

之后修改代理服务器,133是代理服务器的内容,不配置proxy_set_header的效果

检验语法,重载配置

代理服务器配置server内容并没有呈现相关内容

之后在133中进行设置,添加proxy_set_header请求头指令(下面,设置proxy_set_header指令的意义是将Tom指令发送给客户端)

重新刷新之后就可以在浏览器中看到了Tom了,代理传递请求头的使用常用到

相关文章

一文搞懂Nginx反向代理、负载均衡的原理与配置

大家好,我是IT售前工程师Bernie。本文重点介绍反向代理、正向代理的区别,以及Nginx的反向代理、负载均衡原理。为什么需要代理服务器当一个网站并发量特别小,用户特别少的时候,我们在服务器上放一个...

深度揭秘!Spring Boot 3 拦截器获取请求 IP 的机制及实战应用

在互联网大厂后端开发的复杂场景中,精准获取请求 IP 地址是众多功能实现的基础,比如安全防护、用户行为分析、个性化服务定制等。今天,就带大家深入探索 Spring Boot 3 拦截器获取请求 IP...

Nginx之反向代理与负载均衡

今天我们一起学习一下反向代理Nginx的反向代理分为http七层的反向代理和四层的反向代理(stream)。在学习反向代理的过程中会引出两个概念:1. 负载均衡2. 缓存一个请求的顺序是先到达Ngin...

告别繁琐配置,Nginx Proxy Manager:你的家庭网络反向代理利器

在家庭网络中搭建各种服务,如个人博客、文件共享、影音中心等,已经成为许多技术爱好者的日常。然而,配置反向代理和管理 SSL 证书往往让人望而却步。今天,我们要介绍的开源项目 Nginx Proxy M...

java 面试题:如何实现跨域?

在 Java 中实现跨域(Cross-Origin Resource Sharing,CORS)主要有以下几种方式,具体选择取决于应用场景和架构设计:一、前端代理(开发环境)在开发环境中,可通过前端脚...

Nginx 之 realip模块 使用详解

realip 功能介绍用途:当本机 Nginx 处于反向代理后端时可以获取到用户的真实IP地址。使用:realip 功能需要 Nginx 添加 ngx_http_realip_module 模块,默认...