• 【Nginx】初试反向代理:反向代理的原理和用途


    Nginx是一个轻量级的服务器,是一个俄罗斯的开发者开发的开源软件。Nginx具有占内存小、并发能力高的特点,底层采用epoll(Linux2.6+)和kqueue(FREEBSD)网络I/O模型,相比于采用select的Apache要高效很多,epoll/poll/select将会在未来的博客中详细描述。

    正是由于Nginx的轻量高效的原因,它成为反向代理服务器的首选。本文将阐述我在认识反向代理的学习过程和总结。

    -------------------------------------------------------正文------------------------------------------------------

    一、代理服务器

    在之前的了解中,一直对反向代理似懂非懂,后面查了一下代理的概念,突然就懂了。所以,在了解反向代理的原理前,先认识一下什么是代理,下面一段介绍摘自百度百科。

    代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,须送出Request信号来得到回答,然后对方再把信息以bit方式传送回来。代理服务器是介于浏览器和Web服务器之间的一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,Request信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。

    举个更具体点的例子,如果我们想访问google又被墙了,怎么办?有一种办法就是使用代理,比如我们购买了某个代理账号,会让我们设置自己的网络,具体的步骤如下:

    我们需要设置一下VPN,之后当我们访问一个url,其实是先访问了代理服务器,代理服务器替我们取回网页上的内容,再转发给我们。这就是代理服务器做的内容。

    二、反向代理服务器

    在回顾一下代理服务器的工作流程:用户设置代理服务器,用户访问url,代理服务器代替用户访问并将网页内容返回。

    那么,反向代理应该是一个逆向的过程。我们把真正的服务器称为内容服务器,那么应该是内容服务器设置一个代理服务器,当用户发起对内容服务器的请求时,其实是访问内容服务器设置的代理服务器。效果如下:

    这个图跟正向代理的图其实是一样的,所以我开始的时候就很疑惑。但是所谓的“反向” 是设置代理的对象相反,在正向代理中,是用户设置代理服务器,而在反向代理中,是内容服务器来设置代理服务器。这才是反向的真正面目。

    解决了这个疑惑,还有一个关键问题,我们用户设置代理情有可原,内容服务器为什么也要来设置代理呢?

    三、反向代理的作用

    1、防火墙

    2、负载均衡

  • 相关阅读:
    C# 中使用using的三种方法
    RabbitMQ系列文章
    c# 枚举(Enum)
    c# 占位符 {0} {1}
    C#中Lambda表达式总结
    c# 类型转换 int.TryParse() 方法,日期转换
    sql select 0 字段 某字段是不在指定的表,编一个字段
    Apache服务器安装配置(win版)
    安装 Apache 出现 <OS 10013> 以一种访问权限不允许的方式做了一个访问套接字的尝试
    windows安装Apache HTTP服务器报错:无法启动,因为应用程序的并行配置不正确
  • 原文地址:https://www.cnblogs.com/puyangsky/p/5369864.html
Copyright © 2020-2023  润新知