代理服务器

Nginx 反向代理

与世无争的帅哥 提交于 2020-01-26 00:58:11
什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。 为什么要使用代理服务器 提高访问速度 : 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度。 防火墙作用 : 由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。 通过代理服务器访问不能访问的目标站点 : 互联网上有许多开放的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点,通俗说,我们使用的翻墙浏览器就是利用了代理服务器,虽然不能出国,但也可直接访问外网。 什么是正向代理 正向代理 ,架设在客户机与目标主机之间,只用于代理内部网络对 Internet 的连接请求,客户机必须指定代理服务器,并将本来要直接发送到 Web 服务器上的 HTTP 请求发送到代理服务器中。 什么是反向代理 反向代理 服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给 Internet 上请求连接的客户端

第1期:正向代理和反向代理

浪子不回头ぞ 提交于 2020-01-26 00:28:54
代理只是一种技术,如果在一台服务器上安装了这项技术,则这台服务器就有了代理的功能,它就可以被称为代理服务器。无论是正向代理还是反向代理,它们都是介于客户端和服务端之间的一台服务器。但是由于种种原因,客户端和服务端不能直接通信。 正向代理 这就好比你大学的时候,喜欢上了一个妹子。你想打听打听她的情况,你又不能直接问啊,怎么办呢?于是,费劲千辛万苦找到了她的室友。然后你去向她室友打听她各种情况。这个过程就非常类似于正向代理干的事! 在上述例子里,室友就充当了正向代理的角色。因为你和妹子不能直接交流,所以你委托了她的室友来帮你传话,并且把她说的话传达给你。你看那堵墙像不像 防火墙 ;你看那心仪的妹子像不像 Google ;你看她室友像不像 梯子 。懂我的意思吧?正向代理是为了从原始服务器地址获取数据,此时客户端是知道真实的服务器是在哪里的。整个过程是这样的,客户端向代理服务器发送请求,并且指定目标服务器。然后代理服务器向目标服务器发送请求,目标服务器将响应信息返回给代理服务器,代理服务器再将响应信息发送给客户端。所以,正向代理需要在客户端做一些设置才能使用,只有访问需要代理的服务器时才会用到正向代理,否则都是直接访问。 反向代理 正向代理的特点就是需要客户端配置代理服务器的地址并且要指定访问服务器的地址。而反向代理恰恰相反,它既不需要配置代理服务器地址,也不需要指定服务器地址。 举个例子

Nginx--概述及相关概念

两盒软妹~` 提交于 2020-01-24 14:26:53
Nginx概述 Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。 Nginx转为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。 正向代理 正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。 Nginx不仅可以做反向代理,实现负载均衡。还能用作正向代理来进行上网等功能。 反向代理 反向代理,其实客户端对代理是无感知的,因为客户端不需要配置任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真是服务器IP地址。 负载均衡 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。 这种架构对于早期的系统相对单一,并发请求相对较少的情况下是比较合适的,成本也低但是随着信息数量不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器响应客户端的请求日益缓慢,并发量特别大的时候

字节跳动二面

旧巷老猫 提交于 2020-01-22 15:21:46
1.项目问题 工作中的项目经历 rong360 1.权限 https://www.cnblogs.com/ldphoebe/p/6233443.html 2.表格 (left join) session 和 cookie的区别 nginx发生了什么? 多个 客户端 给服务器发送的请求, Nginx服务器接收到之后,按照一定的规则分发给了后端的 业务处理服务器进行处理了。 此时~请求的来源 (客户端)是明确的 ,但是 请求具体由哪台服务器处理的并不明确了 ,Nginx扮演的就是一个反向代理角色。 客户端 是无感知代理的存在的, 反向代理对外都是透明的,访问者并不知道自己访问的是一个代理 。 因为客户端不需要任何配置就可以访问。 反向代理," 它代理的是服务端 ",主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。 反向代理的作用: (1)保证内网的安全,通常将反向代理作为公网访问地址, Web服务器是内网(图最右边) (2 )负载均衡,通过反向代理服务器来优化网站的负载 负载均衡 我们已经明确了所谓代理服务器的概念,那么接下来,Nginx扮演了反向代理服务器的角色,它是以依据什么样的规则进行请求分发的呢?不用的项目应用场景,分发的规则是否可以控制呢? 这里提到的 客户端发送的、Nginx反向代理服务器接收到的请求数量 ,就是我们说 的负载量 。 请求数量

vue/cli 3 配置多个代理服务器

北慕城南 提交于 2020-01-19 14:22:17
在与src同级目录新建vue.config.js vue.config.js module.exports = { publicPath: '/', outputDir: 'dist', assetsDir: 'static', filenameHashing: true, devServer: { open: true, // 自动打开浏览器 host: '127.0.0.1', port: 8081, https: false, hotOnly: false, disableHostCheck: true, proxy: { "/api": { target: 'http://xxxxxxx', // 这个地址结尾我原本加了一个‘/’,然后一直报404,去掉就好了 changeOrigin: true, pathRewrite: { '^/api': '/' } }, '/bpi': { target: "http://xxxxxx", changeOrigin: true, pathRewrite: { '^/bpi': '/' } }, '/cpi': { target: 'http://', changeOrigin: true, pathRewrite: { '^/cpi': '/' } } }, before: app => { } }, // 构建时开启多进程处理

面试官常问的Nginx的几个问题

99封情书 提交于 2020-01-17 21:38:14
1.什么是Nginx? Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 目前使用的最多的web服务器或者代理服务器,像淘宝、新浪、网易、迅雷等都在使用 2.为什么要用Nginx? 优点: * 跨平台、配置简单 * 非阻塞、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发 * 内存消耗小:开启10个nginx才占150M内存 成本低廉:开源 * 内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。 * 节省宽带:支持GZIP压缩,可以添加浏览器本地缓存 * 稳定性高:宕机的概率非常小 * master/worker结构:一个master进程,生成一个或者多个worker进程 * 接收用户请求是异步的:浏览器将请求发送到nginx服务器,它先将用户请求全部接收下来,再一次性发送给后端web服务器,极大减轻了web服务器的压力 * 一边接收web服务器的返回数据,一边发送给浏览器客户端 * 网络依赖性比较低,只要ping通就可以负载均衡 * 可以有多台nginx服务器 * 事件驱动:通信机制采用epoll模型 3.为什么Nginx性能这么高?

Nginx特点及其配置

安稳与你 提交于 2020-01-16 17:57:03
1、基础知识 代理服务器:      一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端。应用比如:GoAgent,FQ神器.   一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。 Web代理(proxy)服务器是网络的中间实体。 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。HTTP的代理服务器即是Web服务器又是Web客户端。   代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。 正向代理 :   是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 反向代理服务器:   在服务器端接受客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。Nginx就是其中的一种反向代理服务器软件。   Nginx:Nginx ("engine

获取客户端IP地址-考虑代理

﹥>﹥吖頭↗ 提交于 2020-01-15 19:25:27
来自森大科技官方博客 http://www.cnsendblog.com/index.php/?p=298 GPS平台、网站建设、软件开发、系统运维,找森大网络科技! http://cnsendnet.taobao.com 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己在项目中做过的事情,同时也想抛砖引玉。参考的博文及其作者在下文均有提及。待到自己以后对HTTP、TCP/IP等知识学深入了,一定再来这里深入讨论这个内容。 一、名词   首先说一下接下来要讲到的一些名词。   在Web开发中,我们大多都习惯使用HTTP请求头中的某些属性来获取客户端的IP地址,常见的属性是REMOTE_ADDR、HTTP_VIA和HTTP_X_FORWARDED_FOR。   这三个属性的含义,大概是如此:(摘自网上,欢迎指正)   REMOTE_ADDR:该属性的值是客户端跟服务器“握手”时候的IP。如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP。   X-Forwarded-For:是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。     XFF的有效性依赖于代理服务器提供的连接原始IP地址的真实性,因此,

Centos部署Flask项目

荒凉一梦 提交于 2020-01-15 07:16:42
1.安装git: sudo yum install git 2.安装mysql客户端(如果数据库在本机需要安装mysql服务端) wget https://dev.mysql.com/get/mysql-community-client-5.7.25-1.el7.x86_64.rpm rpm -Uvh mysql-community-client-5.7.25-1.el7.x86_64.rpm 如果此处报错则在后面加上--force --nodeps(由于yum安装了旧版本的GPG keys造成的) 3.安装python3 sudo mkdir /usr/local/python3 # 创建安装目录 wget --no-check-certificate https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz #下载Python源文件 # 注意:wget获取https的时候要加上:--no-check-certifica tar -xzvf Python-3.6.4.tgz # 解压缩包 cd Python-3.6.4 # 进入解压目录 sudo ./configure --prefix=/usr/local/python3 # 指定创建的目录 sudo make sudo make install # 编译安装