专栏首页智能大石头新生命HTTP反向代理

新生命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反向代理下载

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 开发板通用刷机教程

        这是STM通用的刷固件方法,不仅仅适用于.Net Micro Framework,支持我们当前所有板子,包括阿波罗、探索者和雅典娜三个系列。     ...

    大石头
  • [NewLife.XCode]百亿级性能

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCo...

    大石头
  • XCode最佳实践之最佳数据类型

    与其它ORM框架相比,XCode拥有最强的多数据库正向反向工程,暂时还没有发现能在这点上超于XCode的,哈哈! 但是,XCode的多数据库反向工程,也是有代...

    大石头
  • 爬虫代理哪家强?十大付费代理详细对比评测出炉!

    前言 随着大数据时代的到来,爬虫已经成了获取数据的必不可少的方式,做过爬虫的想必都深有体会,爬取的时候莫名其妙 IP 就被网站封掉了,毕竟各大网站也不想自己的...

    崔庆才
  • 2.3.1 理解动态代理 -《SSM深入解析与项目实战》

    Spring中AOP的拦截功能就是使用Java中的动态代理实现的。也就是在被代理类(方法)的基础上增加切面逻辑,生成代理类(方法)。切面的逻辑可以在目标类函数执...

    谙忆
  • 聊聊Java动态代理(上)

    前言 在之前的文章《聊聊设计模式之代理模式》中,笔者为大家介绍了代理模式,在这里简单回顾一下。代理模式的作用是提供一个代理来控制对一个对象的访问,因此我们可以...

    黄泽杰
  • Spring知识点(五)代理模式

    使用代理模式的目的是为了将原来类生成一个代理类,由代理类来执行原来类的一些增强方法,但是也不影响原来类中方法的执行。

    虞大大
  • 设计模式--Proxy模式

    Subject: 可以是接口,也可以是抽象类 Proxy: 内部含有对真实对象RealSubject的引用,负责对真实主题角色的调用,并在真实主题角色处理...

    河岸飞流
  • 所有和Java中代理有关的知识点都在这了。

    对于每一个Java开发来说,代理这个词或多或少都会听说过。你可能听到过的有代理模式、动态代理、反向代理等。那么,到底什么是代理,这么多代理又有什么区别呢。本文就...

    java思维导图
  • 付费代理的使用

    崔庆才

扫码关注云+社区

领取腾讯云代金券