nginx正向代理和反向代理!!!

一、正向代理

这里写图片描述

  • 正向代理类似一个跳板机,代理访问外部资源。设定我是一个用户(客户端)现在要请求一个web站点,我的电脑配置了正向代理,客户端先请求代理服务器,由代理服务器去访问指定的网页(或者地址),代理服务器接收到返回,再把结果发生给客户端

  • nginx配置正向代理配置

...  
server {  
    resolver 192.168.1.1; #指定DNS服务器IP地址  
    listen 8081;  
    location / {  
        proxy_pass http://$http_host$request_uri; #设定代理服务器的协议和地址  
    }  
}  
... 
  • 设置nginx代理服务,一般是配置到一个server块中。注意,在该server块中,不要出现server_name指令,即不要设置虚拟主机的名称和IP。而resolver是必需的,如果没有该指令,nginx无法处理接收到的域名。其次,nginx代理服务不支持正向代理HTTPS站点。

  • 重启nginx设置浏览器代理,Internet选项 -> 连接 -> 局域网设置 -> 代理服务器

这里写图片描述

ip和端口就是刚才配置文件nginx设置的

这样就可以通过nginx的正向代理去访问代理服务器能访问到的资源了。

  • 正向代理的作用: 
    1、访问本机不能访问的服务 
    2 、cache作用

    • 如果在用户A通过代理服务器Z访问服务器B某数据J之前,已经有人通过代理服务器Z访问过服务器B上得数据J,那么代理服务器Z会把数据J保存一段时间,如果有人正好取该数据J,那么代理服务器Z不再访问服务器B,而把缓存的数据J直接发给用户A。这一技术在Cache中术语就叫Cache命中。如果有更多的像用户A的用户来访问代理服务器Z,那么这些用户都可以直接从代理服务器Z中取得数据J,而不用千里迢迢的去服务器B下载数据了。

    3、隐藏自己真实的IP

二、反向代理

这里写图片描述

  • nginx基础的反向代理配置:
server {  
    listen 80;   #监听端口
    server_name shop.xxx.com;  #客户端访问的地址
     proxy_set_header Host $host:$server_port;    
    proxy_set_header X-Real-Ip $remote_addr;    
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  

    location / {  
        proxy_set_header Host $host:$server_port;    
        proxy_set_header X-Real-Ip $remote_addr;    
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_pass http://101.xxx.182.5:8084;  #代理的地址


    }  

} 
  • 反向代理正好相反,对于客户端而言代理的对象就是本身服务器端。假设某个用户访问某个web站点,先经过nginx的反向代理,然后再由nginx判定转发给某个服务处理;最后返回结果给客用户(客户端)。

  • 反向代理的作用: 
    1、保护和隐藏原始资源服务器,虽然访问的域名地址指向的是服务器A但是真实资源不一定在服务器A上,服务器A可以设置反向代理,即使访问服务器A但是是从服务器B拿的资源再返回给客户端的。 
    2、负载均衡。

    • 当反向代理服务器不止一个的时候,我们甚至可以把它们做成集群,当更多的用户访问资源服务器的时候,让不同的代理服务器去应答不同的用户,然后发送不同用户需要的资源。

    • 反向代理服务器也像正向代理服务器一样拥有CACHE的作用,它可以缓存原始资源服务器的资源,而不是每次都要向原始资源服务器请求数据,特别是一些静态的数据,比如图片和文件,如果这些反向代理服务器能够做到和用户来自同一个网络,那么用户访问反向代理服务器,就会得到很高质量的速度。这正是CDN技术的核心。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值