Nginx正向与反向代理

Nginx 主要用于反向代理与负载均衡

 

什么是代理服务器(Proxy Serve)?

    提供代理服务的电脑系统或其它类型的网络终端,代替网络用户去取得网络信息。

 

为什么使用代理服务器?

    • 提高访问速度 
          由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门网站能明显提高访问速度。

    • 防火墙作用 
          由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可以在代理服务器上设限,过滤掉某些不安全信息。同时正向代理中上网者可以隐藏自己的IP,免受攻击。

    • 突破访问限制 
          互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点,通俗说,我们使用的FQ浏览器就是利用了代理服务器,可以直接访问外网。

 

 

正向代理

     正向代理(forward proxy) ,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标(原始服务器),然后代理向原始服务器转发请求并将获得的内容返回给客户端,客户端才能使用正向代理。我们平时说的代理就是指正向代理。 
    简单一点:A向C借钱,由于一些情况不能直接向C借钱,于是A想了一个办法,他让B去向C借钱,这样B就代替A向C借钱,A就得到了C的钱,C并不知道A的存在,B就充当了A的代理人的角色

 

 

 

 

 

反向代理

    反向代理(Reverse Proxy),以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求的客户端,此时代理服务器对外表现为一个反向代理服务器。 
    理解起来有些抽象,可以这么说:A向B借钱,B没有拿自己的钱,而是悄悄地向C借钱,拿到钱之后再交给A,A以为是B的钱,他并不知道C的存在。

 

 

 

 

正向代理和反向代理的区别

  • 位置不同 
    正向代理,架设在客户机和目标主机之间; 
    反向代理,架设在服务器端;
  • 代理对象不同 
    正向代理,代理客户端,服务端不知道实际发起请求的客户端; 
    反向代理,代理服务端,客户端不知道实际提供服务的服务端;

 

 

  • 备注:正向代理–HTTP代理为多个人提供FQ服务;反向代理–百度外卖为多个商户提供平台给某个用户提供外卖服务。
  • 用途不同 
    正向代理,为在防火墙内的局域网客户端提供访问Internet的途径; 
    反向代理,将防火墙后面的服务器提供给Internet访问;
  • 安全性不同 
    正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务; 
    反向代理都对外都是透明的,访问者并不知道自己访问的是哪一个代理。

正向代理的应用

 

    1. 访问原来无法访问的资源 
    2. 用作缓存,加速访问速度 
    3. 对客户端访问授权,上网进行认证 
    4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

 

反向代理的应用

    1. 保护内网安全 
    2. 负载均衡 
    3. 缓存,减少服务器的压力 
       Nginx作为最近较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后台的服务器,决定哪台目标主机来处理当前请求。

 

可以看看   https://www.cnblogs.com/Anker/p/6056540.html

文章出自   https://blog.csdn.net/zt15732625878/article/details/78941268

 

 

下载Nginx后,解压如下

 

 

 

nginx.conf  配置如下

 

 1 ########### 每个指令必须有分号结束。#################
 2 #user administrator administrators;  #配置用户或者组,默认为nobody nobody。
 3 #worker_processes 2;  #允许生成的进程数,默认为1
 4 #pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
 5 error_log logs/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
 6 events {
 7     accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
 8     multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
 9     #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
10     worker_connections  1024;    #最大连接数,默认为512
11 }
12 http {
13     include       mime.types;   #文件扩展名与文件类型映射表
14     default_type  application/octet-stream; #默认文件类型,默认为text/plain
15     #access_log off; #取消服务日志    
16     log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
17     access_log logs/access.log myFormat;  #combined为日志格式的默认值
18     sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
19     sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
20     keepalive_timeout 10;  #连接超时时间,默认为75s,可以在http,server,location块。
21     proxy_connect_timeout 5; #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
22     proxy_intercept_errors on;  #如果被代理服务器返回的状态码为400或者大于400,设置的error_page配置起作用。默认为off。
23   
24    upstream mysvr {   
25       server 192.168.3.121:9985;
26       #server 192.168.3.211:80 backup;  #热备 当一台服务器发生事故时,才启用第二台服务器给提供服务
27     }
28     error_page 504 https://www.baidu.com; #错误页
29 
30     
31     server {
32         keepalive_requests 120; #单连接请求上限次数。
33         listen       10000;   #监听端口
34         server_name  127.0.0.1;   #监听地址       
35         location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
36            #root path;  #根目录
37            #index vv.txt;  #设置默认页
38            proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表
39            
40            #deny 127.0.0.2;  #拒绝的ip
41            #allow 127.0.0.1; #允许的ip           
42         } 
43     }
44 }

 

 IIS中  127.0.0.1:10000  不需要设置网点,访问此网址后  自动跳转    192.168.3.121:9985

 

 

 

配置详解可以看看   https://www.cnblogs.com/knowledgesea/p/5175711.html   和    https://blog.csdn.net/kingscoming/article/details/79042874

转载于:https://www.cnblogs.com/cwmizlp/p/9419354.html

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

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

相关文章

计算机组成原理延迟时间ty,计算机组成原理第6章_5运算方法.ppt

文档介绍:6.5 算术逻辑单元一、ALU 电路四位 ALU 74181M 0 算术运算M 1 逻辑运算S3 ~ S0 不同取值,可做不同运算ALUAiBiFi…SiM位片式运算器4位双极型位片式运算器AM2901,它将ALU、通用寄存器组、多路开关、移位器等逻辑构件集成在一个芯片内。通用寄存器寄存器写…

Leetcode--172. 阶乘后的零

给定一个整数 n,返回 n! 结果尾数中零的数量。 示例 1: 输入: 3 输出: 0 解释: 3! 6, 尾数中没有零。 示例 2: 输入: 5 输出: 1 解释: 5! 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。 思路: 能出现零的因子里面一定出现2&am…

生命起源的奥秘:分子生物学对生命起源研究

来源: 科学技术哲学1993年加州大学柏克利分校的詹腓力教授邀请了一批科学家、哲学家到加州中部的一个海滨小镇相聚。这些学者来自著名的学术中心,包括剑桥、慕尼黑、芝加哥大学等学府,他们是来质疑一个统治了科学界长达150年的学说。保罗.尼尔…

Python学习第二天

运算符类型: 1.算术运算符 a 10*10 2.赋值运算 a a 1 3.比较运算 a 1 > 5 4.逻辑运算 a 1>6 or 11 5.成员运算 a "文" in "郑建文" 基本数据类型 数字  int 字符串  str 列表  list 元祖  tuple 字典  dict 布尔值  b…

Promise,async和js的事件循环机制

Promise Promise有等待,已成功,失败,三种状态,状态的改变会触发then回调函数和catch回调函数。 当执行一个Promise时,它会立刻返回一个Promise对象,并且不会阻塞后续代码执行。 当Promise的状态发生改变后…

介绍计算机硬件的情景剧表演,手忙脚乱的情景剧

继去年一手操办了女儿班上的元旦迎新会后,昨天,我再一次自编自演自导。不得不说,学校真是磨练人的地方。一、创作剧本的起因半个月前,宋老师推荐我和女儿参加学校举行的亲子诵读比赛。去年也参与过一次,我己经形成了固…

java 双因素认证(2FA)TOTP demo

TOTP 的全称是"基于时间的一次性密码"(Time-based One-time Password)。它是公认的可靠解决方案,已经写入国际标准 RFC6238。 很早就知道有这个东西了,一直不知道是怎么实现的. 比如 QQ 安全中心的密钥,U盾,就是动态密码…

win7计算机管理中看不到新加的硬盘,win7系统看不到第二块硬盘的解决方法.

win7系统想必大家都非常熟悉吧,然而有时候可能会碰到win7系统看不到第二块硬盘的情况,想必大家都遇到过win7系统看不到第二块硬盘的情况吧,那么应该怎么处理win7系统看不到第二块硬盘呢?我们依照1、进入win7系统控制面板&#xff…

美国航空发动机发展经验,给中国的启示!

内容来源:网络本期编辑:小艾 航空发动机是装备制造领域的最高端产品,代表了装备制造业的最高技术水平,被誉为现代工业“皇冠上的明珠”,其重要性一向为人所强调,但成为航空发动机强国的道路之艰难却往往为人…

session的钝化和活化

钝化:内存->硬盘 活化:硬盘->内存 session对象的四种状态: 1.session.setAttribute("a",xxx),将对象a绑定到session中 2.session.removeAttribute("a"),将对象a从session中解绑 监听session对象的…

华师 计算机系统 作业,华师网络学院作业答案-计算机组成原理问答题

华师网络学院作业答案-计算机组成原理问答题 (4页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分试谈谈什么是存储系统的高速缓冲存储器(Cache), 画出“主存- Cache”这一存储层次…

第五十四篇 Linux相关——远程连接SSH

No.1. SSH(Secure Shell)安全外壳协议建立在应用层基础上的安全协议可靠,专为远程登录会话和其他网络服务提供安全性的协议有效防止远程管理过程中的信息泄漏问题SSH客户端适用于多种平台SSH服务器端几乎支持所有Unix平台No.2. 服务器安装SSH…

《2020城市大脑全球标准研究报告》全文正式开放申领

2020年12月23日,《2020城市大脑全球标准研究报告》在北京正式发布,提出了城市大脑建设标准的研究方向和初步成果,内容包括: 城市大脑的顶层建设规范、整体技术架构、云反射弧机制、运行安全、城市神经元的种类划分、识别编码、空…

Leetcode--91. 解码方法

一条包含字母 A-Z 的消息通过以下方式进行了编码: A -> 1 B -> 2 ... Z -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数。 示例 1: 输入: "12" 输出: 2 解释: 它可以解码为 "AB"(1 2&#xff0…

测试动态视力软件叫什么影响吗,动态视力

动态视力是指眼睛在观察移动目标时,捕获影像、分解、感知移动目标影像的能力,是一种知觉运动物体细节的能力。这种能力伴随着通过动态视力捕捉影像和短时间内大脑信息处理的过程以及机体的相应的反应过程。中文名动态视力外文名Dynamicvisual acuity应用…

学科交叉是科学发展的必然趋势

来源:学习时报作者:李侠2020年10月30日,据国家自然科学基金委员会官网发布消息,基金委成立第九大学部——交叉科学部,这也是国家自然科学基金委时隔11年再次成立新的科学部。紧接着,2021年1月,国…

Leetcode--923. 三数之和的多种可能

给定一个整数数组 A&#xff0c;以及一个整数 target 作为目标值&#xff0c;返回满足 i < j < k 且 A[i] A[j] A[k] target 的元组 i, j, k 的数量。 由于结果会非常大&#xff0c;请返回 结果除以 10^9 7 的余数。 示例 1&#xff1a; 输入&#xff1a;A [1,1,2…

nas磁盘用什么软件测试,手把手教你从NAS拿点空间当电脑硬盘使用 iSCSI开启网络硬盘共享...

手把手教你从NAS拿点空间当电脑硬盘使用 iSCSI开启网络硬盘共享2019-10-23 10:10:2095点赞1581收藏182评论前言家里的Synology DS218Play 已经用了几年了&#xff0c;当时买的两盘位DS 218PLAY&#xff0c;一直使用状况良好。跟路由器一样&#xff0c;只需要默默地工作在角落就…

深度学习?不一定非得搞“黑箱”

来源&#xff1a;TechTalks作者&#xff1a;Ben Dickson编译&#xff1a;科技行者深度神经网络的参数网络极其庞大复杂&#xff0c;也因此让机器得以实现以往难以想象的各类功能。然而&#xff0c;这种复杂性也成为制约其广泛应用的祸根&#xff1a;神经网络的内部工作机理一直…

Leetcode--904. 水果成篮

在一排树中&#xff0c;第 i 棵树产生 tree[i] 型的水果。 你可以从你选择的任何树开始&#xff0c;然后重复执行以下步骤&#xff1a; 把这棵树上的水果放进你的篮子里。如果你做不到&#xff0c;就停下来。 移动到当前树右侧的下一棵树。如果右边没有树&#xff0c;就停下来…