四、nginx反向代理

news2025/1/25 4:35:31

一、反向代理

解释:nginx反向代理如正向代理原理类似,只是实现了不同的功能。客户端将请求发给服务端(代理服务器)后,服务端(代理服务器)并没有自己处理请求,而是交给被代理服务器,由被代理服务器处理完请求,返回给服务端(代理服务器),再通过返回给客户端

结构图如下:
在这里插入图片描述
好处:这样可以隐藏被代理服务器的IP地址(由被代理服务器处理内容,但是用户只能看到服务端(代理服务器)),其是真正处理用户请求的服务器,这样可以一定程度上避免其被攻击

二、实例配置

解释:配置只需配置代理服务器即可,无需配置被代理服务器

参数:

  • proxy_pass:其为被代理服务器地址(示例:proxy_pass http://127.0.0.1$request_url;
  • proxy_set_header:更改Nginx服务器接收到的客户端请求的请求头信息,然后将新的请求头发送给代理的服务器(示例:proxy_set_header name jack;
  • proxy_buffering:是否开启代理服务器的缓冲区(建议:proxy_buffering on;
  • proxy_buffer_size:该指令用来设置从被代理服务器获取的第一部分响应数据的大小(建议:proxy_buffer_size 4 32k;
  • proxy_busy_buffers_size:该指令用来限制同时处于BUSY状态的缓冲总大小(建议:proxy_busy_buffers_size 64k;
  • proxy_temp_file_write_size:用来设置磁盘上缓冲文件的大小(建议:proxy_temp_file_write_size 64k;

1.示例一

server{
        listen 1235;
        location /{
        	default_type text/plain;
        	return 200 $arg_url;
        }
}
server {
        listen 1234;
        location /{
              proxy_pass http://172.25.52.293:1235/?url=$scheme://$host$request_uri;#用户通过访问端口为1234这个服务,其将请求转发给了端口为1235这台机器,由其处理完之后返回再端口1234的机器,再由端口1234的机器返回给用户
        }
    }

2.示例二

解释:下面的例子相当于访问不同路由,由不同机器进行处理

# 代理服务器
server {
        listen          1;
        server_name     localhost;
        location /a {
                proxy_pass http://192.168.xxx.xxx:2/;
        }
        location /b {
                proxy_pass http://192.168.xxx.xxx:3/;
        }
        location /c {
                proxy_pass http://192.168.xxx.xxx:4/;
        }
}

# 服务端
server {
        listen          2;
        default_type text/plain;
        return 200 'port 2'
}
server {
        listen          3;
        default_type text/plain;
        return 200 'port 3'
}
server {
        listen          4;
        default_type text/plain;
        return 200 'port 4'
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/40039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

P4用软件实现和硬件实现的区别

摘要:我们目前看到从可配置性有限的固定功能网络设备向具有完全可编程处理流水线的网络设备的转变。这种发展的一个突出例子是P4,它提供了一种语言和参考架构模型来设计和编程网络设备。这个参考模型的核心元素是可编程匹配动作表,它定义了网…

[附源码]Python计算机毕业设计高校餐厅评价系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Java多线程编程【一文全解】

文章目录01 线程简介02 进程的创建> 继承 Thread 类> 实现 Runnable 接口> 实现 Callable 接口※ Lambda表达式 λ※ 静态代理模式03 线程状态04 线程方法> 停止线程 stop( )> 线程休眠 sleep( )> 线程礼让 yield( )> 线程强行执行 join( )> 线程状态观…

【疑难攻关】——XXE漏洞快速入门

作者名:Demo不是emo 主页面链接:主页传送门创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷座右…

Redis快速上手神册,17W字详解其实Redis也就那么一回事!

开始使用Redis Redis是一个开源的数据库,经常被用来构建高性能的可扩展网络应用。它使用内存数据库,这使得它比其他数据库更快。 Redis用于我们的应用程序中的短期数据。它经常被用于会话或网页头数。 通过使用内存数据库,我们不需要有大的…

表空间的空间管理算法

存储结构 逻辑结构 物理结构 database tablespace --> datafile segment extent oracle --> os block block 表空间的空间管理: DMT(dictionary management tablespace): LMT(local management tablespace): SQL>…

[计算机毕业设计]远程监督的跨语言实体关系抽取

前言 📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

代码随想录算法训练营day57 | 647. 回文子串,516.最长回文子序列

647. 回文子串: 暴力解法:两层for循环,遍历区间起始位置和终止位置,然后判断这个区间是不是回文。时间复杂度:O(n^3). Output Limit Exceeded class Solution:#时间复杂度:O(n^3)def countSubstrings(self, s: s…

线程与进程

目录 1.为什么使用线程? 2.什么是线程? 3.进程和线程的工作原理 3.1 进程 3.2 线程 4.线程安全问题 5.总结:线程和进程的区别(面试题) 1.为什么使用线程? 线程与进程都是用来解决并发编程问题的&…

推荐 5 个不错的 React Native UI 库

最近在做一个 React Native 的项目,调研了下 UI 库,下面列举 5 个: React Native Elements React Native Element 是相当闻名的 UI 库,它遵循 Material 设计规范,同时你还可以精细地控制每一个组件。 TL;DR 22.2k G…

朴素贝叶斯——垃圾邮件过滤

文章目录利用朴素贝叶斯进行文档分类1、获取数据集2、切分文本3、构建词表和分类4、构建分类器5、测试算法利用朴素贝叶斯进行垃圾邮件过滤1、导入数据集2、垃圾邮件预测总结利用朴素贝叶斯进行文档分类 1、获取数据集 下载数据集,获取到一些邮件文档。其中ham文件…

Intersoft WebUI Studio for asp.net/asp.mvc

企业 Web 开发的终极工具集。WebUI 建立在坚实的框架之上,为 ASP.NET 提供创新和先进的 40 多个优质 UI 组件,让您轻松及时地构建强大的业务 Web 应用程序。 不仅仅是全面的 UI 工具集。 在提供业界最佳网络体验的愿景的支持下,WebUI 提供了前…

AQS源码解析 8.共享模式_Semaphore信号量

AQS源码解析—共享模式_Semaphore信号量 简介 synchronized 可以起到锁的作用,但某个时间段内,只能有一个线程允许执行。 Semaphore(信号量)用来限制能同时访问共享资源的线程上限,非重入锁。 Semaphore 是什么&am…

377. 组合总和 Ⅳ【完全背包】求排列数:外层for背包,内层for物品;求组合数:外层for物品,内层for背包;

377. 组合总和 Ⅳ 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1: 输入:nums [1,2,3], target 4 输出&#x…

如何利用快解析远程访问家庭智能网关

随着家庭宽带用户的暴增,涌现出了许多连接家居设备和控制中心的产品,如家庭智能网关。家庭智能网关是家居智能化的心脏,通过它实现系统的信息采集、信息输入、信息输出、集中控制、远程控制、联动控制等功能。 ​ 智能家庭网关具备智能家居控…

springcloud24:分布式事务 Seata处理分布式事务总结篇

分布式事务: 分布式事务的问题: 1:1 一个servlet 对应一个 数据库1:N 一个servlet对应多个数据库N:N 多个servlet对应多个数据库 全局事务一致性问题(全局数据一致性的保证) Seata是分布式事务的解决方案 分…

Python标准库之os

1. OS标准库简介 顾名思义,OS表示Operating System,即操作系统。OS标准库是一个操作系统接口模块,提供一些方便使用操作系统相关功能的函数,具体安装位置可通过导入os模块查看os.__file__属性得到。当需要在Python代码中调用OS相…

WPF-页面-DataGrid数据处理-多线程-Winform嵌入

页面 if(NavigationService.CanGoBack true) NavigationService.GoBack(); NavigationService.Navigate(new Uri("Page.xaml",UriKind.Relative));打印对话框PrintDialog如果要一下启动两个窗口,可以重写App.cs中的OnStartUP方法设置窗口所属关系&#…

【我的渲染技术进阶之旅】你知道数字图像处理的标准图上的女孩子是谁吗?背后的故事你了解吗?为啥这张名为Lenna的图会成为数字图像处理的标准图呢?

文章目录一、先来看一张神图:Lenna图二、图片中的妹子是谁?三、为何要使用Lenna图像?四、谁制作了Lenna图像?五、人红是非多六、福利时间七、岁月神偷文末有福利 一、先来看一张神图:Lenna图 想必所有搞过图像处理的人…

LQ0265 汉诺塔【水题】

题目来源:蓝桥杯2012初赛 Java A组C题 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。 大梵天创造世界的时候做了三…