反向代理

一些关于正向代理、反向代理、透明代理、CDN的概念

∥☆過路亽.° 提交于 2019-12-09 13:31:19
“代理”顾名思义,就是不通过自己,通过第三方去代替自己执行自己要做的事情。可以想象成在本机和目标服务器中又多了一个中间服务器(代理服务器) 正向代理 正向代理是一个位于客户端和原始服务器之间的服务器(代理服务器)。 客户端必须先进行一些必要设置(必须知道代理服务器的IP和端口), 将每一次请求先发送到代理服务器上,代理服务器转发到真实服务器并取得响应结果后,返回给客户端。 简单说明,就是代理服务器代替客户端去访问目标服务器。( 隐藏客户端 ) 作用: 绕过无法访问的结点,从另一条路由路径进行目标服务器的访问(比如 翻墙) 加速访问,通过不同的路由路径提高访问速度(现在通过带宽的提高等方式,基本不用此方式提速) 缓存作用,数据缓存在代理服务器中,若客户端请求的数据在缓存中则不去访问目标主机。 权限控制,防火墙授权代理服务器访问权限,客户端通过正向代理可以通过防火墙(比如 一些公司采用的ISA SERVER 权限判断) 隐藏访问者,通过配置,目标服务器只能获得到代理服务器的信息,无法获取真实访客的信息。 反向代理 反向代理正好相反,对于客户端而言它就像是原始服务器,并且 客户端不需要进行任何特别的设置 。客户端向反向代理发送普通请求,接着反向代理将判断向原始服务器转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。 简单说明

nginx搭建反向代理配置

孤者浪人 提交于 2019-12-08 11:49:28
一、安装gcc yum install gcc-c++ -y 二、安装nginx所需要的依赖库 yum -y install zlib-devel openssl-devel pcre-devel 三、如有安装老版本,则卸载。 查看:find -name nginx 卸载:yum remove nginx 四、下载nginx源码并解压.(源码去官网下载, 以下是官方链接) wget -c http://nginx.org/download/nginx-1.6.2.tar.gz tar -zxvf nginx-1.6.2.tar.gz mv nginx-1.6.2 nginx cd nginx ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_addition_module --with-http_flv_module --with-http_gzip_static_module --with-http_realip_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module 注:这里--with开头的选项为nginx自带的模块

nginx 反向代理问题小结

时光总嘲笑我的痴心妄想 提交于 2019-12-07 20:32:11
nginx 反向代理问题小结 location /Autops { proxy_pass http://a.test.com; } ① 循环跳转,nginx条件判断跳出 在nginx中配置好,死活都无法跳转。 通过F12查看,其实已经跳转过去了,但是接口在认证的地方循环在跳转。 应该是登陆接口路由有问题,由于我请求的对方接口是直接访问,无需路由。 所以的添加条件判断,请求完接口之后,直接退出。(此处应该去检查登陆路由,由于时间关系,直接采取回避的方法。) 匹配到/Autops/api接口下的任何请求,请求完毕之后直接break,不往下请求。 location /Autops/api/{ if (-e $document_root/Autops/api/dbuser/$request_uri) { rewrite ^/(.*)$ /Autops/api/dbuser/$1 break; break; } } location / { try_files $uri $uri/ /Autops/web/index.php?$args; } 顺便了解下 try_files 的作用: 按照顺序请求如上地址,如果不存在或匹配不到会访问最后一个参数。也即是改写参数。 ② 请求跳转是不跳转非index文件 原服务器地址: http://b.test.com/Autops/api/dbuser

图解正向代理、反向代理、透明代理

僤鯓⒐⒋嵵緔 提交于 2019-12-07 12:41:04
套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术。一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术。常用的代理技术分为正向代理、反向代理和透明代理。本文就是针对这三种代理来讲解一些基本原理和具体的适用范围,便于大家更深入理解代理服务技术。 一、 正向代理 (Forward Proxy) 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术。关于正向代理的概念如下: 正向代理 (forward) 是一个位于客户端【用户 A 】和原始服务器 (origin server) 【服务器 B 】之间的服务器【代理服务器 Z 】,为了从原始服务器取得内容,用户 A 向代理服务器 Z 发送一个请求并指定目标 ( 服务器 B) ,然后代理服务器 Z 向服务器 B 转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。如下图 1.1 从上面的概念中,我们看出,文中所谓的 正向代理 就是 代理服务器替代访问方【用户 A 】去访问目标服务器【服务器 B 】 这就是正向代理的意义所在。而为什么要用代理服务器去代替访问方【用户 A 】去访问服务器 B 呢?这就要从代理服务器使用的意义说起。 使用正向代理服务器作用主要有以下几点: 1 、访问本无法访问的服务器 B ,如下图 1.2

nginx基础知识

喜你入骨 提交于 2019-12-07 11:38:18
nginx 什么是nginx Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。常用作反向代理服务器。 特点 占用内存少 并发能力强 配置简单 支持静态文件缓存 作用 作为反向代理服务器 保证内网安全,可以使用反向代理服务器提供的WAF功能,阻止web攻击 负载均衡,通过反向代理服务器来优化网站的负载 缓存静态资源,加快访问速度 基本命令 启动 nginx 停止 nginx -s quit 强制停止 nginx -s stop 重启 nginx -s reload nginx配置upstream实现负载均衡 upstream 自定义项目名 { server 第一个业务服务器的ip:prot; server 第二个业务服务器的ip:prot; … } nginx配置转发请求给uwsgi server { listen 80; server_name 域名; location / { # 包含uwsgi的请求参数 include uwsgi_params; # 转发请求给uwsgi uwsgi_pass uwsgi服务器的ip:port; } } 收集静态文件的路径 在项目settings.py中 STATIC_ROOT=静态文件目录 在项目终端收集静态文件 python manage.py collectstatic

Linux通过 Docker 可以托管 .NET Core啦!

感情迁移 提交于 2019-12-06 21:10:50
我是首次接触 Docker 并且距离成为一名 Linux 高手还有很远的一段路程。因此,这里的很多想法是来自一个新手。 内容 安装按照 https://www.microsoft.com/net/core 上的介绍在你的电脑上安装 .NET Core 。这将会同时在 Windows 上安装 dotnet 命令行工具以及最新的 Visual Studio 工具。 源代码 你可以直接到 GitHub 上找最到最新完整的源代码。 转换到 .NET CORE 1.0 自然地,当我考虑如何把 API 从 .NET Core RC1 升级到 .NET Core 1.0 时想到的第一个求助的地方就是谷歌搜索。我是按照下面这两条非常全面的指导来进行升级的: 从 DNX 迁移到 .NET Core CLI 从 ASP.NET 5 RC1 迁移到 ASP.NET Core 1.0 当你迁移代码的时候,我建议仔细阅读这两篇指导,因为我在没有阅读第一篇指导的情况下又尝试浏览第二篇,结果感到非常迷惑和沮丧。 我不想描述细节上的改变因为你可以看 GitHub 上的提交。这儿是我所作改变的总结: 更新 global.json 和project.json 上的版本号 删除 project.json上的废弃章节 使用轻型 ControllerBase 而不是 Controller, 因为我不需要与 MVC

配置 Nginx 反向代理 WebSocket

試著忘記壹切 提交于 2019-12-06 18:26:30
用Nginx给网站做反向代理和负载均衡是广泛使用的一种Web服务器部署技术。不仅能够保证后端服务器的隐蔽性,还可以提高网站部署灵活性。 今天我们来讲一下,如何用Nginx给WebSocket服务器实现反向代理和负载均衡。 什么是反向代理和负载均衡 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器。并将内部服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 负载均衡(Load Balancing)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 什么是WebSocket WebSocket协议相比较于HTTP协议成功握手后可以多次进行通讯,直到连接被关闭。但是WebSocket中的握手和HTTP中的握手兼容,它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的基础设施。 WebSocket工作在HTTP的80和443端口并使用前缀 ws:// 或者 wss:// 进行协议标注,在建立连接时使用HTTP/1.1的101状态码进行协议切换

用Nginx和Apache的反向代理解决Ajax的跨域问题

人盡茶涼 提交于 2019-12-06 18:18:48
概述 Ajax开发中令人头疼的问题之一是跨域问题。在服务器端来说,我们常用的手段之一就是利用Nginx或者Apache的反向代理功能。 傲游主站上有一个很吸引人的功能,就是下载次数计数,如下图所示。这个功能就是利用了上述技术实现的。 从下图的Firebug中可以看到,该页面通过Ajax反复请求一个名为/api/counter的路径以径获取最新的下载数量。 而这个输出路径实际上在服务器上是不存在的,这个路径只是另外一台服务器某个路径而已,这就是使用了Nginx的反向代理功能实现的。 反向代理 反向代理(Reverse Proxy),顾名思义,就是代理的反向功能。我们使用代理,可以访问一些我们所不能直接访问到的网络,或者可以隐藏自己的真实身份。而反向代理,可以在不暴露内部服务器的情况下,让外部用户访问我们内部、防火墙后的服务。 使用反向代理主要有以下好处: 1. 请求的统一控制,包括设置权限、过滤规则等; 2. 隐藏内部服务真实地址,暴露在外的只是反向代理服务器地址; 3. 实现负载均衡,内部可以采用多台服务器来组成服务器集群,外部还是可以采用一个地址访问; 4. 解决Ajax跨域问题。 5. 作为真实服务器的缓冲,解决瞬间负载量大的问题。 Nginx 与Apache 配置 1、Nginx 回到计数器的这个例子,Nginx的配置片段如下所示: location /api/counter

正向代理与反向代理

落爺英雄遲暮 提交于 2019-12-06 17:41:27
正向代理与反向代理 我们在开发过程中,经常会设置代理来转发请求;在配置云服务器等时又会去做一些反向代理。但是这些代理究竟有什么区别?它们各自实现了什么作用?都不太了解,这里查阅了一些资源,进行了简单的记录。 正向代理 ​ 图片来自于网络 正向代理中, 客户端(client)和正向代理服务器(proxy)同属于一个局域网,通过代理服务器proxy访问外部资源 。比如:用户由于某些原因无法访问某些资源,但是有一个服务器能够访问这些资源,而用户能够访问这个服务器,那么用户就可以先连接这台服务器,告诉他需要访问的资源内容,然后让这个服务器去访问对应的资源,并返回给用户。 正向代理主要是为了通过代理去访问一些无法访问的资源。此时代理服务器对外就表现为一个客户端。 这其实类似于代购业务,我们无法直接去购买国外的一些便宜的商品,但是我们可以通过一些代理商去帮助我们购买这些商品。这个代购就相当于我们这里的代理。 正向代理的其他用途: 1、缓存资源:代理服务器可以帮助缓存资源,减少请求 2、进行监控:代理服务器可以记录用户访问记录 反向代理 ​ 图片来自于网络 反向代理中, 服务端(server)和反向代理服务器(proxy)同属于一个局域网 ,通过代理服务器来接受外部的请求,然后代理服务器会分析url,根据特定的规则将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给请求连接的客户端。

nginx反向代理

限于喜欢 提交于 2019-12-06 16:53:28
配置参数 proxy_pass; # 用来设置将客户端请求转发给的后端服务器的主机,可以是主机名、IP 地址:端口的方式,也可以代理到预先设 置的主机群组,需要模块gx_http_upstream_module支持。 location /web { index index.html; proxy_pass http://192.168.7.103:80; # 不带斜线将访问的 /web,等于访问后端服务器 http://192.168.7.103:80/web/index.html,即后端 服务器配置的站点根目录要有 web 目录才可以被访问,这是一个追加 /web 到后端服务器 http://servername:port/WEB/INDEX.HTML 的操作 proxy_hide_header; # 用于nginx作为反向代理的时候,在返回给客户端http响应的时候,隐藏后端服务版本相应头部的信息,可以设置 在 http/server 或 location 块: location /web { index index.html; proxy_pass http://192.168.7.103:80/; proxy_hide_header ETag; } proxy_pass_request_body on | off; # 是否向后端服务器发送HTTP包体部分,可以设置在