代理服务器

wstngfw中配置squid

♀尐吖头ヾ 提交于 2019-11-28 03:49:57
wstngfw中配置squid Squid是一个缓存 Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向 Squid 发出一个申请,要 Squid 代替其进行下载,然后 Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户。 按照代理类型的不同,可以将 Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为标准代理和透明代理。 1.标准的代理缓冲服务器 一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。 2.透明代理缓冲服务器

Python爬虫和反爬虫的斗争

狂风中的少年 提交于 2019-11-28 01:35:34
我们常接触的网络爬虫是百度、搜搜、谷歌(Google)等公司的搜索引擎,这 些搜索引擎通过互联网上的入口获取网页,实时存储并更新索引。搜索引擎的基础 就是网络爬虫,这些网络爬虫通过自动化的方式进行网页浏览并存储相关的信息。 近几年,互联网开始朝着移动应用的方向发展。海量的信息从移动端生产并消 费,遗憾的是,搜索引擎通常并不能触及这些信息。例如,抖音等短视频 APP 中的 视频,目前还不能在百度等搜索引擎搜索到;淘宝的商品信息也无法在常规搜索引 擎中搜索到(只能在淘宝的 APP 中搜索到),等等。由于这些信息无法通过网页搜索到,因此搜索引擎不适合解决此类问题。在商务上,厂商之间可以通过合作的方式 对移动应用中的内容进行查询,例如,搜狗就能搜索到微信公众号的信息。在技术 上,可以开发定向爬虫抓取页面信息,再对其中的数据进行处理,例如各种比价网 站收集价格信息的过程等。那么如何爬取呢?今天我们来说说爬虫和反爬虫的斗争。以下内容来自《爬虫实战:从数据到产品》 《爬虫实战:从数据到产品》 扫码查看详情 常见的方法 在抓取对方网站、APP 应用的相关数据时,经常会遇到一系列的方法阻止爬虫。一方面是为了保证服务的质量,另一方面是保护数据不被获取。常见的一些反爬虫 和反反爬虫的手段如下。 (1)IP 限制 IP 限制是很常见的一种反爬虫的方式。服务端在一定时间内统计 IP 地址的访问 次数,当次数

部分APP无法代理抓包的原因及解决方法

强颜欢笑 提交于 2019-11-27 23:12:09
引言 HTTP应用层的抓包已经成为日常工作测试与调试中的重要一环,最近接触新项目突然之间发现之前的抓包手段都不好使了,顿时模块与模块之间的前端与服务之间的交互都变成了不可见,整个人都好像被蒙住了眼睛。 其实自己也很早就发现平时使用的支付宝等APP使用Fiddler 或 Charles这类代理抓包软件默认情况下就无法抓取请求的,但使用Wireshark这类网卡抓包软件可以看到这些APP的流量,而已这些流量也表明这些APP使用的主要应用层协议仍然是HTTP(https),不过我们的代理抓包工具却失效了。如今终于在实际工作中遇到了,也不得不解决了,毕竟眼前有东西挡住会让我浑身不适。 代理抓包原理 为了弄明白为什么Fiddler 或 Charles对这些APP无效,我们有必要先了解代理抓包我原理(当然您不想了解也是完全可以的,直接看后面的 实际操作 就可以完成,原理分析什么的可以有兴趣随时回来看) Fiddler 或 Charles 这类使用的代理的抓包软件与Wireshark是完全不同的(Wireshark 使用的网卡数据复制,只要是经过指定网卡都会被抓取),其只能对使用代理的应用层网络协议生效,比如常见的HTTP(https),Websocket 。 这里以HTTP为例简单说明下 客户端需要完成一次HTTP请求,通常需要先找到服务器,客户端会根据http请求中url的主机名

Nginx 模块常用指令

你离开我真会死。 提交于 2019-11-27 18:51:59
1.HTTP核心模块   A. client_body_buffer_size:指定连接请求实体的缓冲区大小,如果超了,那么这些请求实体的整体或部分将尝试写入一个临时文件,默认值是8k/16K; B. client_body_temp_path:指定连接请求实体试图写入的临时文件路径,默认值是client_body_temp;   C. client_max_body_size:指定允许客户端连接的最大请求实体大小,如果超了,返回客户端“Request Entity Too Large” 413错误,默认值是1m; 2. HTTP代理模块   A. proxy_pass:设置被代理服务器的地址和被映射的URI,地址可以使用主机名或IP加端口号的形式,默认值是no,使用字段在location或location中if字段;   B. proxy_set_header:允许将发送到被代理服务器的请求头重新定义或增加一些字段,默认值是Host and Connection,使用字段在http,server,location;   C. proxy_connect_timeout:指定一个连接到代理服务器的超时时间,默认值是60s,使用字段在http,server,location;  D. proxy_send_timeout:设置代理服务器转发请求的超时时间,如果超了

反向代理的理解

前提是你 提交于 2019-11-27 18:40:45
正向代理隐藏真实客户端,反向代理隐藏真实服务端 正向代理 A同学在大众创业、万众创新的大时代背景下开启他的创业之路,目前他遇到的最大的一个问题就是启动资金,于是他决定去找马云爸爸借钱,可想而知,最后碰一鼻子灰回来了,情急之下,他想到一个办法,找关系开后门,经过一番消息打探,原来A同学的大学老师王老师是马云的同学,于是A同学找到王老师,托王老师帮忙去马云那借500万过来,当然最后事成了。不过马云并不知道这钱是A同学借的,马云是借给王老师的,最后由王老师转交给A同学。这里的王老师在这个过程中扮演了一个非常关键的角色,就是代理,也可以说是正向代理,王老师代替A同学办这件事,这个过程中,真正借钱的人是谁,马云是不知道的,这点非常关键。 我们常说的代理也就是只正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,某些“网上学科”工具扮演的就是典型的正向代理角色。用浏览器访问 http://www.google.com 时,被残忍的block,于是你可以在国外搭建一台代理服务器,让代理帮我去请求google.com,代理把请求返回的相应结构再返回给我。 反向代理 大家都有过这样的经历,拨打10086客服电话,可能一个地区的10086客服有几个或者几十个,你永远都不需要关心在电话那头的是哪一个,叫什么,男的,还是女的

Nginx入门

柔情痞子 提交于 2019-11-27 18:09:56
Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。 优点 支持海量高并发:采用IO多路复用epoll。官方测试Nginx能够支持5万并发链接,实际生产环境中可以支撑2-4万并发连接数。 内存消耗少:在主流的服务器中Nginx目前是内存消耗最小的了,比如我们用Nginx+PHP,在3万并发链接下,开启10个Nginx进程消耗150M内存。 免费使用可以商业化:Nginx为开源软件,采用的是2-clause BSD-like协议,可以免费使用,并且可以用于商业。 配置文件简单:网络和程序配置通俗易懂,即使非专业运维也能看懂。 安装 yum list | grep nginx sudo vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 sudo yum install nginx # 查看nginx安装版本 nginx -v # 查看所有nginx安装文件 rpm -ql nginx 主配置文件 /etc/nginx/nginx.conf /etc/nginx/conf.d/default

jmeter性能测试学习笔记3-使用jmeter 4.0+IE浏览器录制脚本

↘锁芯ラ 提交于 2019-11-27 16:58:09
之前有记录过用bodbay这个地三方的插件来录制脚本,然后想了一下用jmeter本身来录制脚本,网上有很多人说jmeter录制的脚本会不稳定,当然,大家也可以用第三方插件录制,下面用jmeter 4.0的版本来录制脚本,然后实现压力测试。 录制前提: 1、下载好jmeter 4.0工具 (jemter3.0也可以录制,只是和jmeter4.0的区别在于UI发生了一点改变) 2、IE浏览器(能正常联网) 一、打开jmeter 4.0 1、添加线程组:点击测试计划,右键添加 2、添加代理服务器:点击测试计划->添加->非测试元件->HTTP代理服务器 PS:jemter3.0版本的添加方法是点击工作台添加 添加之后,页面如下: 端口可以是8888,也可以是其它的,只要不要和程序的端口有冲突就行。 3、添加录制控制器:点击线程组,右键添加 录制控制器页面如下:例如录制百度新闻页面,给录制控制器改了名字 然后点击HTTP代理服务器,切换到代理服务器配置界面,修改以下两处红圈位置。选择录制控制器 4、添加HTTP cookies 管理器:一定要添加这个,不然录制的时候会报错。 5、jmeter的相关设置好之后,下面设置代理浏览器(本文采用IE浏览器做例子,其它浏览器会下章记录) 6、打开IE浏览器属性,设置代理 局域网设置页面如下: 录制什么脚本就把地址给粘贴进去

nginx的基本功能和原理

痴心易碎 提交于 2019-11-27 16:41:12
一、Nginx的模块和工作原理   nginx由内核和模块组成:   1.内核:其设计非常微小和简洁,完成的工作也非常简单。仅通过查找配置文件将客户端请求映射到一个location block(location是nginx配置中的一个指令,用例URL匹配),而在这个location中所配置的每个指令将会启动不同的模块取完成相应的工作。   2.从结构上分为‘核心模块、基础模块、第三方模块’:    核心模块:HTTP模块、EVENT模块、MAIL模块。    基础模块:HTTP Access模块、HTTPFastCGI模块、HTTP Proxy模块、HTTP Rewrite模块。    第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP Access Key模块以及根据需求自己开发的模块。   3.从功能上划分为‘Handlers、Filters、Proxies’:    Handlers(处理器模块):此类模块直接出来请求,并输出内容和修改headers信息等操作。Handlers处理器模块一般只能有一个。    Filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后有nginx输出。    Proxies(代理类模块):此类模块是nginx的HTTP Upstream质量的模块

与HTTP协作的Web服务器

佐手、 提交于 2019-11-27 15:42:42
用单台虚拟主机实现多个域名 HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点。这是因为利用了虚拟主机(Virtual Host,又称虚拟服务器)的功能 即使物理层面只有一台服务器,但只要使用虚拟主机的功能,则可以假想已具有多台服务器。 当一台服务器内托管了多个域名,当收到请求时就需要弄清楚究竟要访问哪个域名。 在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI。 通信数据转发程序:代理、网关、隧道 HTTP通信时,除客户端和服务器以外,还有一些用于通信数据转发的应用程序,例如代理、网关和隧道。它们可以配合服务器工作。 代理: 代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端”中间人“的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。 网关: 网关是转发其他服务器通信数据的服务器,接收从客户端发送过来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。 隧道: 隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。 代理: 代理服务器的基本行为就是接受客户端发送的请求后转发给其他服务器。代理不改变请求URI,会直接发送给前方持有资源的目标服务器。 在HTTP通信过程中,可级联多台代理服务器

Squid代理服务器安装及部署

♀尐吖头ヾ 提交于 2019-11-27 13:27:58
Squid是Linux系统中最常用的一款开源代理服务软件,可以很好地实现HTTP和FTP,以及DNS基础、SSL等应用的缓存代理,功能非常强大。 缓存代理概述 作为应用层的代理服务软件,Squid主要提供缓存加速、应用层过滤控制的功能。 1.代理的工作机制 当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要的页面,则直接将缓存中的页面内容返回给客户机;如果缓存中没有客户机要访问的页面,则由代理服务器向Internet发送访问请求,获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机,如图: HTTP代理的缓存加速对象主要是文字、图像等静态Web元素。使用缓存机制后,当客户机在不同的时候访问同一Web元素,或者不同的客户机访问相同的Web元素时,可以直接从代理服务器的缓存中获得结果。这样就大大减少了向Internet提交重复的Web请求的过程,提高了客户机的Web访问响应速度。 由于客户机的Web访问请求实际上是由代理服务器来代替完成的,从而可以实现的功能有: 1. 隐藏客户端的真实IP; 2. 通过缓存,提高上网速度; 3. 控制上网行为。 2.代理服务器的类型 根据实现方式不同,代理服务器可分为: 传统代理: 也就是普通的代理服务,首先必须在客户机的浏览器、QQ聊天工具、下载软件等程序中手动设置代理服务器的地址和端口