新生命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反向代理下载
posted @ 2007-12-09 19:43  大石头  阅读(7391)  评论(22编辑  收藏  举报