IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> proxy_pass和proxy_set_header浅析 -> 正文阅读

[系统运维]proxy_pass和proxy_set_header浅析

目录

背景

proxy_pass

proxy_set_header

参考文档


背景

部署项目,编辑Nginx配置文件时,用到了?proxy_pass和proxy_set_header,由于之前用的比较少,所以顺便去了解一波

proxy_pass

?
#结尾不加/
location /abc/ {
????????proxy_pass http://10.1.12.123:8080;
}
#结尾添加/
location /abc/ {
????????proxy_pass http://10.1.12.123:8080/;
}
?

以上两端代码区别就是proxy_pass指令后边有没有“/”,这部分内容叫做URI。

如果我们想要要保持输入的请求原样不变传给后端,那么proxy_pass指令就不能带有URI部分。

当请求是?http://10.1.12.123:8080 时,
第一个配置处理之后传给后端应用的请求是 http://10.1.12.123:8080? 不变。
第二个配置会把请求 http://10.1.12.123:8080? 中与 location 匹配的部分("/abc/")替换为proxy_pass结尾的URI( "/" ),变成?http://10.1.12.123:8080

proxy_set_header

设定被代理服务器接收到的header信息,重定义发往后端服务器的请求头
语法:
proxy_set_header field value;
field :为要更改的项目,也可以理解为变量的名字,比如host
value :为变量的值
proxy_set_header???????Host $http_host;?
$http_host:代理服务器本身IP,不改变请求头的值.
$proxy_host?会重新设置请求头
$host?请求未携带HOST请求头时为虚拟主机的主域名
proxy_set_header???????X-Real-IP $remote_addr;
$remote_addr:前一节点的IP,并不一定是用户的真实IP,客户端的ip,若有代理的话表示最后一个代理服务器的ip.
remote_addr表示的IP不可更改.如果可以随意更改的话,就无法建立正常的TCP连接.
proxy_set_header???????X-Forwarded-For $proxy_add_x_forwarded_for;
设置被代理端接收到的远程客户端IP,如果不设置,则header信息中并不会透传远程真实客户端的IP地址。
X-Forwarded-For :XFF头,代表客户端,就是HTTP请求段的真实IP,只有通过了HTTP代理或负载均衡服务器时才会添加该项.
标准格式如下:
X-Forwarded-For: client1, proxy1, proxy2
从标准格式可以看出,X-Forwarded-For头信息可以有多个,中间用逗号分隔,第一项为真实的客户端ip,剩下的就是曾经经过的代理或负载均衡的ip地址,经过几个就会出现几个。
此变量只是记录请求的服务器路由顺序,因为这个变量不管在客户端还是代理服务商都可以伪造.
?
proxy_set_header????????X-Forwarded-Proto??$scheme;
proxy_set_header????????X-Forwarded-Uri??$request_uri;
不设置proxy_set_header,则默认host的值为proxy_pass后面跟的那个域名或者IP(一般写IP)
proxy_set_header????????X-Forwarded-For?$proxy_add_x_forwarded_for;?
$proxy_add_x_forwarded_for变量包含客户端请求头中的"X-Forwarded-For",与$remote_addr用逗号分开,如果没有"X-Forwarded-For" 请求头,则$proxy_add_x_forwarded_for等于$remote_addr。

参考文档

https://blog.csdn.net/u011774517/article/details/122862207

http://nginx.org/

若有不当之处,恳请不吝赐教~

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:25:00  更:2022-04-18 18:25:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:46:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码