新生命HTTP反向代理

简介: 去年为一家公司做了一个软件验证系统,所以使用该公司软件的用户都需要购买充值卡,并登录到服务器校验。服务端是IIS+ASP.Net设计的,为了保证服务端的安全(其实几乎每天都被攻击),客户想出一个办法,使用代理软件来冒充真实的服务器提供服务,而可以同时运行很多个代理来承受外部的攻击,这就是HTTP反向代理的原型了。
    去年为一家公司做了一个软件验证系统,所以使用该公司软件的用户都需要购买充值卡,并登录到服务器校验。服务端是IIS+ASP.Net设计的,为了保证服务端的安全(其实几乎每天都被攻击),客户想出一个办法,使用代理软件来冒充真实的服务器提供服务,而可以同时运行很多个代理来承受外部的攻击,这就是HTTP反向代理的原型了。因为这个反向代理是专门为这套验证系统而开发的,所以里面插入了不少业务代码,直接判断不是非法用户后才把请求转发到真实服务器。
    后来学习Ajax的时候,因为需要经常抓包调试,而一般网络抓包工具都不支持抓自己访问自己时的数据包。于是我想到了修改反向代理,使得浏览器通过反向代理来访问Ajax页面,然后代理那里把请求和响应的内容都输出来,就达到目的了。

    去年的时候曾经发布过一个反向代理的测试版,引起了CSDN上很多人的关注。

HTTP反向代理测试版  http://www.nnhy.org/HTML/19/41.htm
反向代理原理图      http://www.nnhy.org/HTML/26/81.htm
(郁闷,帖超链接的时候编辑器老是报错)

    这次发布的是正式版,还有另外两个:直接代理和间接代理,三个代理使用的是同一个核心,除核心外,都同时发布源码。在这里,要感谢园子里的 牧野,他的一个帖子,帮我解决了网络断开时报的异常无法捕获的问题。

注意:
1,这三个代理运行需要安装.Net 2.0。这里有下载 http://www.skycn.com/soft/39946.html
2,监听地址主要用于拥有多个IP而只想在某一个IP上提供服务时才需要选择,否则默认0.0.0.0就可以了。
3,监听端口就是代理提供服务的端口。对于直接代理和间接代理来说,就是设置代理时的端口。
4,如果不是为了调试,请不要打开显示设置那里的三个显示选择,否则会消耗大量CPU。
5,请不要经过代理下载大文件,代理本身为了提高性能使用了很大的缓冲区,如果下载大文件,代理占用内存会急剧上涨。
6,三个代理都需要XLog.dll和XProxy.dll的支持,单独使用时,请不要忘记拷贝这两个文件。
7,*.config是相应的代理的设置文件,XML格式,可以修改里面的参数。
8,XLog.dll和XProxy.dll属于X框架的一部分,除了X框架的组件外,三个代理都开放源代码。
9,对于需要修改代码的用户,如果方便,请留下状态栏那里的文字,谢谢^_^

直接代理DirectProxy
和普通的HTTP代理一样,没有什么特别的功能。
使用方法:浏览器那里把HTTP代理的地址和端口设置为这里的地址和监听端口即可。



间接代理IndirectProxy
新生命间接代理开发的目的就是为了躲避通过检测直接代理而限制共享上网的软件(比如DrCom),在直接代理不可用的网络中提供代理功能。间接代理实际上就是把直接代理拆成服务端和客户端两部分,两端间的通信加密传输。
使用方法:
拨号的机器启动间接代理并勾选“服务器”选项作为服务端,设置好监听端口;
要上网的机器启动间接代理作为客户端,远程地址和端口填写服务端的地址和监听端口,浏览器那里设置HTTP代理,地址是自己127.0.0.1,端口是客户端的监听端口。


反向代理ReverseProxy
Http反向代理设计的初衷是保护真实Web服务器,后来也用于调试Ajax,其实还有很多很多功能,大家自己慢慢想吧。
使用方法:设置远程地址为要映射的Web服务器的IP或域名,并设置端口(默认80),监听端口就是别人用来访问本机的端口。设置完成后启动,所有人访问本机的监听端口时就被映射到远程服务器,看起来本机就有一个和远程服务器一模一样的网站。

新生命HTTP反向代理下载
我不相信神话,我只相信汗水!我不相信命运,我只相信双手!
相关文章
SpringBoot使用ProxyServlet实现HTTP反向代理
SpringBoot使用ProxyServlet实现HTTP反向代理
2258 0
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
2475 20
|
负载均衡 Unix 应用服务中间件
深入解析HTTP反向代理:探索NGINX的神奇之处
深入解析HTTP反向代理:探索NGINX的神奇之处
|
域名解析 负载均衡 应用服务中间件
nginx反向代理https域名时,请求报错502问题排查
nginx反向代理https域名时,请求报错502问题排查
|
前端开发 JavaScript
node反向代理,解决跨域(http-proxy-middleware)
使用node.js和http-proxy-middleware库实现反向代理,解决跨域问题,允许前端请求通过代理访问不同端口的服务。
973 3
|
缓存 应用服务中间件 API
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
656 3
|
缓存 安全 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(二)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(二)
1167 1
|
Java 应用服务中间件 Apache
Apache HTTP配置反向代理入门
Apache HTTP配置反向代理入门
818 0
Apache HTTP配置反向代理入门
|
负载均衡 应用服务中间件 网络安全
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(一)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(一)
3694 0
|
负载均衡 网络协议 应用服务中间件
nginx-http反向代理与负载均衡
nginx-http反向代理与负载均衡
309 0