web服务器-nginx反向代理

web服务器-nginx反向代理

一. 代理介绍

  • 代理是网络中使用比较常见的, 比如我们说的最多的就是FQ软件, 比如ss, 蓝灯等这些大家常用的软件,他们就是能改代理大家访问的国内无法访问的一些国外网站,比如fecebook,youtube等网站,其原理也比较简单
    1. 用户将请求发给代理服务器
    2. 代理服务器代用户去访问数据
    3. 代理服务器将数据给用户
  • 正常没有代理情况上网

img

代理服务器场景

img

代理服务器扮演的就是一个中间人的角色。

  • 代理服务器分为正向代理和反向代理俩种类型:
    1. 正向代理:代理用户访问其他网站,比如ss,蓝灯
    2. 反向代理:用来发布服务器,比如nginx

二应用场景

  1. 堡垒机:堡垒机承担所有的外部访问,保护后端服务器的安全

    img

  2. 业务发布服务器:将多个服务器通过虚拟主机的方式发布到公网

    img

  3. 缓存服务器:CDN加速

    img

三. 反向代理的原理

  1. 客户端通过浏览器,发起请求,代理服务器
  2. 代理服务器,接受请求
  3. 代理服务器业务服务器发起请求
  4. 业务服务器接受请求
  5. 业务服务器处理请求
  6. 业务服务器响应请求 给代理服务器
  7. 代理服务器客户端 响应请求
  8. 客户端通过浏览器渲染请求并展示给用户
  • 代理服务器业务服务器之间需要进行配置

  • 反向代理的作用:

    • 保证内网的安全,可以使用反向代理提供WAF功能,阻止web攻击。大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。
    • 负载均衡,通过反向代理服务器来优化网站的负载
    在这里插入图片描述

四. 正向代理的原理

  1. 正向代理类似一个跳板机,代理访问外部资源,用户都是通过代理服务器来达到访问.

  2. 用户需要配置代理服务器的地址,

    nFGuT0.png

在这里插入图片描述

五 反向代理的实现

  • nginx反向代理指令:  proxy_pass

  • 反向代理的实现:

    location / {
    	index index.php index.html index.htm; #定义首页索引文件的名称
    
    	proxy_pass http://mysvr ;#请求转向mysvr 定义的服务器列表
    }
    location ~ .*\.(png|jpg|gif)$ {
        gzip on;
        root /soft/code/images;
        }
    
  • 反向代理的优化.直接放在

    location / {
    	index index.php index.html index.htm; #定义首页索引文件的名称
    
    	proxy_pass http://mysvr ;#请求转向mysvr 定义的服务器列表
    
    
    
    proxy_set_header Host $host;
    
    proxy_set_header X-Real-IP $remote_addr;
    
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    client_max_body_size 10m; #允许客户端请求的最大单文件字节数
    
    client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
    
    proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
    
    proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
    
    proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
    
    proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    
    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
    
    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
    
    proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    
    
    }
    

    注意: 最好是将注释删掉

posted @ 2020-03-06 15:46  云丛  阅读(386)  评论(0编辑  收藏  举报