nginx反向代理入门(2) :proxy_set_header、代理多个网站

nginx配置使用真实的host和 port 这行代码的目的是确保被代理的后端服务器接收到的 X-Forwarded-Proto 头字段正确地反映了原始请求的协议类型(HTTP 或 HTTPS)。这对于后端服务来说可能是重要的,因为它可能需要根据这个信息来决定是否将响应加密(例如,如果原始请求是 HTTPS 的,后端服务可能希望返回加密的响应以保持安全性)。X-Forwarded-Proto: 这是一个自定义的 HTTP 请求头,通常由反向代理(如 Nginx)设置,用于向后端服务器传递原始请求的协议信息。 阅读详情

https://blog.youkuaiyun.com/github_26672553/article/details/81902645
前面已经学习了使用proxy_pass指令来实现反向代理,但是并不完善,网站如何获取主机?

$_SERVER['HTTP_HOST']; 这是php获取请求头中的Host函数,由于我们做了反向代理,最终发现该值是服务端的真实IP,而不是域名。
比如http://abc.com 我们希望得到的值是 abc.com

##使用proxy_set_header指令
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header

为了解决这些问题,我们需要学习proxy_set_header指令,重新定义或添加字段传递代理服务器的请求头。


server{
listen 8082;
location /{
proxy_set_header Host a123; #这时我们获取的HTTP_HOST就变成了我们自定义的a123
proxy_pass http://192.168.88.88:9090/;
}
}

一般来说我们会使用nginx内置变量$host来自动获取,当请求端头部有Host值取该值,否则取主域名。

proxy_set_header Host $host;

把端口加上(非必需)

proxy_set_header Host $host:$server_port;

代理多网站

当我们访问
http://abc.com:8082/php 时进入php网站;
http://abc.com:8082/java 时进入java网站.

简单配置如下:

location /php{
    proxy_set_header Host $host:$server_port; 
    proxy_pass http://192.168.88.88:9090/;
}
location /java{
    proxy_set_header Host $host:$server_port; 
    proxy_pass http://192.168.88.88:8080/;
}
nginx中的proxy_set_header参数详解 proxy_set_header 是 Nginx 配置中用于设置代理请求 HTTP 头部的指令。当 Nginx 作为反向代理时,它允许自定义从客户端接收到的请求或添加新的请求头,然后将其转发到后端服务器。这对于维护 HTTP 协议的连贯性、安全性和功能性至关重要。X-My-Header 是一个自定义的请求头字段,用于存储自定义信息。上游服务器可以通过读取 X-My-Header 字段获取自定义信息。 阅读详情

相关推荐

【Nginx】Ubuntu如何安装使用Nginx反向代理?

设置代理请求的 X-Real-IP 头部字段为客户端的真实 IP 地址。当 Nginx 作为反向代理时,它接收到的请求的远程 IP 地址是客户端连接的 IP 地址,而不是最初请求的客户端的真实 IP 地址。:设置代理请求的 X-Forwarded-For 头部字段为客户端 IP 地址和原始的 X-Forwarded-For 头部字段值。X-Forwarded-For 头部用于标识请求经过的代理服务器列表,这个指令将客户端的 IP 地址添加到已有的 X-Forwarded-For 头部字段值中。

q742971636的博客 1750

nigix proxy_set_header Host $host:$server_port 与 $host:proxy_port 区别

nigix做反向代理   注意  :$proxy_port  与 :$server_port 区别 $server_port :nigix监听的端口 $proxy_port : 服务器真正访问的端口 server {         listen       8888;         server_name  192.168.1.114;             

tianyekpp的专栏 6万+

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

一、前言 二、环境准备 三、安装与配置Nginx 四、Nginx之反向代理 五、Nginx之负载均衡 六、Nginx之页面缓存 七、Nginx之URL重写 八、Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一、前言 在前面的几篇博文中我们主要讲解了Ng

GY的的专栏 7975

nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port区别

nginx配置中$http_host、$host、$host:$proxy_port和$host:$server_port区别

耕耘 3万+

华为HPLC模组全拆解之电力载波收发原理分析

电力线载波通信(PLC)是一种使用电力线进行数据传输的通信技术,即利用现有电网作为信号的传输介质,使电网在传输电力的同时可以进行数据传输。目前根据所用频段的不同,低压电力线载波通信一般分为窄带电力线载波通信(10KHz~500KHz)和宽带电力线载波通信(2MHz~20MHz)。这里的频率可以简单理解为单片机串口的通信波特率,频率越小通信速度越慢,频率越大通信速度越快。为了研究电力载波通信原理,笔者以华为的一款宽带电力载波模组为例进行详细的分析,该模组主控采用的是海思芯片,型号为Hi3921EV100。

xingxingdiandeng69的博客 2万+

Podman修改镜像源教程(附最新docker镜像源)

Podman修改镜像源教程(附最新docker镜像源)

道长的博客 4140

nginx 配置来做http代理、负载均衡、tcp代理转发

一、nginx http 代理 nginx http 代理 通过proxy_set_header,返回客户端真实IP地址及端口,而不是代理主机ip #proxy ngx 代理不支持 https,有https需求可以用squid server { listen 9998; allow 192.168.0.0/24; deny all; location / { access_log /data/logs/proxy_access.log main; ...

qq_39458487的博客 5113

文献阅读:SAR像素偏移的性能改进An Improvement of the Performance of SAR Offset Tracking Approach

像素偏移追踪POT文献阅读

weixin_56301271的博客 341

Nginx-nginx 反向代理方式(超详细)

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

程序猿老白~的博客 8342

【ros】ROS1的安装和相关使用方法

主要学习ros相关内容

Greary的博客 2376

从动态规划到最优控制:Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用

本文深入解析了Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用,从动态规划到最优控制的演变过程。通过实际案例展示了HJB方程在机器人路径规划、工业机械臂优化等领域的实践价值,并探讨了数值求解方法和深度学习结合的神经HJB前沿进展。

weixin_28700411的博客 452

Nginx反向代理proxy_pass

一、概述   代理(proxy),即中间人,它代替客户端发送请求给服务器,收到响应后再转给客户端。通常意义上的代理是从用户的角度讲的,用户通过某个代理可以访问多个网站,这个代理是靠近用户的,比如某些公司可能需要限制员工所访问的网站,就会在网络出口处放置一个代理来做过滤。   反向代理(reverse proxy),本质上跟代理是一回事,只不过是从服务器的角度讲的,是靠近服务器的。比如某个网站有多个服务器,提供同样的功能,一般会在网络入口处放一个代理,接收客户端的请求,再基于某种策略(比如轮转)转发给后端

zhaisharap的专栏 9243

NSGA-II 多目标优化 —— 理论、案例与交互式 GUI 实现

本文详细介绍了 NSGA-II 多目标优化算法的基本原理、数学模型和实现流程。从非支配排序、拥挤距离计算到遗传操作,NSGA-II 通过对种群进行分层和排序,能够有效求解多目标优化问题,获得 Pareto 前沿解集。通过机械结构优化、资源分配和控制参数调优等典型案例,我们展示了 NSGA-II 在实际工程中的广泛应用。为帮助工程师和研究者更直观地理解算法求解过程,本文提供了基于 Python 与 PyQt6 的交互式 GUI 演示系统代码示例。

闲人编程的博客 2119

正向代理, 反向代理, proxy_pass, proxy_set_header, proxy_redirect, proxy_buffer, proxy_cache

Nginx正向代理 Nginx正向代理使用场景并不多见。 需求场景1: 如果在机房中,只有一台机器可以联网,其他机器只有内网,内网的机器想用使用yum安装软件包,在能能联网的机器上配置一个正向代理即可。 Nginx正向代理配置文件 server { listen 80 default_server; resolver 119.29.29.29; location...

tanyyinyu的博客 2429

SAP Joule 经过了超过 2.5 亿行 ABAP 代码的训练之后......

披露的统计数据,Joule 提供的这种全新系统交互方式,可将事务性任务执行速度提高 90%,访问 SAP Help Portal 内容的速度提高 95%。在 ABAP 应用开发领域,SAP 官网数据显示,Joule 经过超过 2.5 亿行 ABAP 代码的训练,有信心成为这一领域行业领先的代码助手。刚刚过去的 SAP 蓝宝石大会上,SAP 提到,从2023年第四季度以来,SAP 已经交付了 50 项基于人工智能的创新。让其生成 SAP 应用能够识别的结构化应用数据,业务用户全程无需离开 SAP 应用程序。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 788

深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了。CNN是一种能够有效处理图像和其他二维数据的深度学习模型。在传统的CNN中,每个卷积核都会对输入的所有位置进行相同的操作,这可能导致网络无法针对特定区域或特征进行更加关注和重点处理。 注意力机制被引入卷积神经网络中,旨在使网络能够自动地学习和聚焦于输入中的重要区域或特征。通过引入注意力机制,可以增强网络对不同区域或特征的关注度,提取更有意义和相关的特征,从而提高模型的性能和表达能力。

微学AI的博客 3312

Nginx进阶篇反向代理(正向代理和反向代理的区别、反向代理的配置语法、反向代理实战案例、Nginx添加SSL支持、如何获取SSL证书、反向代理的系统优化)

Nginx进阶篇反向代理(正向代理和反向代理的区别、反向代理的配置语法、反向代理实战案例、Nginx添加SSL支持、如何获取SSL证书、反向代理的系统优化)

聂可以的博客 1826

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Nginx代理配置

是指客户端通过代理服务器来访问目标服务器,目标服务器不知道真正的客户端是谁,只知道请求来自于代理服务器。是指客户端通过代理服务器来访问目标服务器集群,客户端不知道真正的目标服务器是哪一个,只知道请求发送到了代理服务器。

Ben_10_的博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Nginx 面试分享(八):反向代理

关于正向代理和反向代理,在 Nginx - 介绍 已经通过一张图详细的介绍过了,简而言之就是正向代理代理的对象是客户端,反向代理代理的是服务端,这是两者之间最大的区别。 Nginx 即可以实现正向代理,也可以实现反向代理。

之乎者也·的博客 1409

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

nginx的 proxy_set_header的反向代理设置

nginx的 proxy_set_header的反向代理设置

qq_34953582的博客 1475

Nginx——反向代理(三/五)

本文介绍了 Nginx 反向代理的相关内容。

代码星辰的博客 1779

Nginx Proxy反向代理

X-Forwarded-For 请求头是一种常用的标准请求头,用于记录请求经过的代理服务器的 IP 地址。$proxy_add_x_forwarded_for 是 Nginx 内置变量,它用于获取请求头中已经存在的 X-Forwarded-For 的值,并将客户端的真实 IP 地址追加到该值的末尾,以形成一个包含所有代理服务器 IP 地址的列表。#这样做的好处是,上游服务器可以通过读取 X-Forwarded-For 请求头,获取到请求经过的所有代理服务器的 IP 地址列表,从而了解请求的真实来源路径。

一个认真学习的女孩子的博客 2185

https 下 多级nginx 反向代理设置

https 下 多级nginx 反向代理设置 一.问题以原因分析 1.在多级nginx 代理下进行https 配置。通常的架构是内部的nginx 之间采用的是http进行通讯,通常的架构配置如下: 一级代理配置https,二级以及以上的nginx 则是配置http。架构图如下: 2.配置https 最重要的两个参数为: proxy_redirect http:// $schem...

wufangliang的博客 1万+

Nginx Proxy 代理

正反代理

qq_45429357的博客 914

在Linux中实现Nginx的反向代理和负载均衡

对于客户端来说,它感觉就像是直接与目标服务器通信,但实际上所有的请求都先经过反向代理服务器,再由反向代理服务器转发给后面的真实服务器,并将真实服务器的响应再返回给客户端。可以把如下值 传递给后端服务器:客户端访问的主机名、客户端真实的IP、传递代理链的IP、使用的协议等。Nginx 不只是单台代理,通常会代理多台,Nginx 作为反向代理,可以把用户请求分发到多台后端服务器,来分摊压力,提高可用性。一句话,反向代理是代理的是服务器,代理在服务器一侧,常用于负载均衡、隐藏后端、做缓存。

weixin_56387846的博客 1182

Nginx代理proxy

内网客户机通过代理访问互联网。通常要设置代理服务器地址和端口。

Asuroa的博客 1344
上一篇: nginx反向代理:最基础配置
下一篇: nginx rewrite重写入门
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值