
以前一直对正向代理与反向代理的概念模糊不清,其实从数据流向的角度来看,它们并没有什么区别,都是从 client 发出请求,经过 proxy ,到达 server ,然后 server 的响应经过 proxy ,回到 client 。为何有正反之分,只是对客户端,代理端,和服务端的划分不同。通常,正向代理是划分成 客户端-代理端 和 服务端 ,而反向代理正好相反,结构是 客户端 和 代理端-服务端 ,英文reverse这个词的意思是指上述结构的反转,但由于翻译的原因,到中文就变成了反向代理。
正向代理,也简称代理,它的工作原理就像一个跳板。
举例:我是用户,我访问不了S网站,但我能访问一个代理服务器P,但P能访问S,于是我连接上P,告诉P我需要访问S,P取回内容,然后返回给我。从网站S的角度,只在代理服务器P访问时有一次记录,并不一定知道是用户的请求,这取决于代理P告不告诉网站S。
结论: 正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
举例:用户想访问“ >
格式: proxy_pass URL;
其中URL包含:传输协议(>
app获取到对方的后端ip
在 jsp 里,获取客户端的IP地址的方法是: request getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache, Squid 等 反向代理 软件就不能获取到客户端的真实IP地址了。
如果使用了反向代理软件,将的URL反向代理为的URL时,用requestgetRemoteAddr()方法获取的IP地址是:127001或1921681110,而并不是客户端的真实IP。
经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的>
正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录。结论就是,正向代理,是一个位于客户端和原始服务器(origin
server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
反向代理举例:
例用户访问 >
根据url参数代理到不同的虚拟主机中
TIP:正向代理、反向代理以及url重写
url为: >
如何使用nginx设定反向代理 修改部署目录下conf子目录的nginxconf档案(如nginx-1513\conf\nginxconf)内容,可调整相关配置。
反向代理配置示例:
location / { #设定主机头和客户端真实地址,以便伺服器获取客户端真实IP proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #禁用快取 proxy_buffering off; #设定反向代理的地址 proxy_pass :19216811; }
代理地址根据实际情况修改。
如何使用Nginx反向代理使用SSL配置Jenkins
根据sslkey和sslcrt部署nginx
首先nginx需要支援ssl_module,然后修改nginxconf如下
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /opt/tengine/conf/ssl/free4labcrt;
ssl_certificate_key /opt/tengine/conf/ssl/free4lab_nopasskey;
ssl_session_timeout 5m;
}
在相应的位置放置crt档案和key档案,注意到这边的key是nopassword的,就是重启nginx的时候,不需要输入密码。
free4lab_nopasskey是根据free4labkey生成的,生成命令如下
该模组支援标准的 IEEE80211 b/g/n 协议,完整的 TCP/IP 协议栈。使用者可以使用该模组为现有的装置新增联网功能,也可以构建独立的网路控制器
如何使用webpack-dev-server做反向代理
并没有这个引数你得再 entry 加入如下 var config = require("/webpackconfigjs"); configentryappunshift("webpack-dev-server/client:localhost:8080"); var piler = webpack(config); var server = new webpackDevServer(
CentOS 65 下 如何使用Squid 实现反向代理?
全部的squid配置大部分网上都能搜到
关键的配置是下面一句
cache_peer 127001 parent 8080 0 no-query no-digest
意思就是把你的本机127001作为你的上级伺服器
如何使用apache的反向代理改写url绝对路径
页面原始码中的相对路径都正常 但页面原始码中有部分连结是写成了绝对路径,那么滑鼠放到连结上时显示的路径仍然是092/,那么访问这个连结时就直接去访问092了,而不是
如何使用Weave以及Docker搭建Nginx反向代理/负载均衡伺服器
Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡伺服器。Weave 可以建立一个虚拟网路将 Docker 容器彼此连线在一起,支援跨主机部署及自动发现。它可以让我们更加专注于应用的开发,而不是基础架构。Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网路,不需要埠/对映/连线等的配置。容器中的应用提供的服务在 weave 网路中可以轻易地被外部世界访问,不论你的容器执行在哪里。在这个教程里我们将会使用 weave 快速并且简单地将 nginx web 伺服器部署为一个负载均衡器,反向代理一个执行在 Amazon Web Services 里面多个节点上的 docker 容器中的简单 php 应用。这里我们将会介绍 WeaveDNS,它提供一个不需要改变程式码就可以让容器利用主机名找到的简单方式,并且能够让其他容器通过主机名连线彼此。
以上就是关于正向代理与反向代理全部的内容,包括:正向代理与反向代理、100高分赠送!反向代理技术(国外IP国内服务器)、nginx 反向代理之 proxy_pass等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)