因为我要同时使用PHP和ASP,并且我使用的是XP操作系统,IIS连接限制为10。如果全部都让IIS来处理的话是不行的,因为我也要对外开放访问。因此,我使用了Apache+IIS,并且让Apache作为IIS的代理以实现这两个服务器的并存。
IIS我指定为81端口,然后让Apache对从gsea.com.cn域名进入的请求全部转入gsea.com.cn:81,也就是转入IIS。
IIS上我设置了个bbs的虚拟目录,放置动网论坛。
问题在这里出现。
从gsea.com.cn/bbs访问的时候,出现“该页无法显示”。但是从“gsea.com.cn:81/bbs”却可以正常访问。
首先我排除了IIS的问题,因为从81端口直接访问是可以正常显示的。初步推断,问题出在代理这个环节上。
我把bbs下index.asp删除,然后从gsea.com.cn/bbs访问,出现IIS的禁止浏览目录的提示。
这样可以肯定是代理这个环节出问题了。
我把index.asp改名为index.htm,再次访问,可以正常显示。也就是说,只有ASP页面才会出这个问题。
然后我访问Dv_getCode.asp这个文件,是生成验证码的(注:该文件仅仅使用了Adodb.Stream,没有使用数据库等之类,也就是说和动网系统几乎没有什么联系),可以正常生成验证码。
我又把bbs这个虚拟目录指向其他的ASP程序,不指向动网论坛了,可以正常显示。
这样就说明是动网论坛的问题了。
可是问题出在哪里呢?
我直接访问conn.asp文件,可以被解析,没有出现“该页无法显示”。
打开conn.asp文件,仔细看了看,先后修改了几个地方,都不行。然后我把Response.Buffer = True改成False,访问论坛首页,这下能解析一部分了,不过没有完全解析,出现了ASP错误,提示在Dv_ClsMain.asp 388行又错误,于是我打开Dv_ClsMain.asp,找到388行,发现这个是一个处理禁止使用代理访问论坛的代码块,如果使用代理,则 Response.Status = "302 Object Moved" ,我猜测302应该就是会使浏览器出现“该页无法显示”的状态代码(这和404找不到网页是差不多的)。 代理…代理……Apache不是作为IIS的代理的吗?问题就是出在这里了,通过Apache转向到IIS时,动网论坛认为是使用代理访问,所以就输出这个错误,这也就说明了为什么可以通过81端口访问而不可以通过80端口间接从Apache来访问。
原因知道了,接下来也就好解决了。
取消禁止使用代理访问的设置(当初我这样设置是为了抵御CC攻击),这样就可以直接通过gsea.com.cn/bbs来访问了。问题解决。
这是一个很难发现原因的错误,我回想一下,是通过慢慢排除可能的原因,慢慢测试,逐步定位问题根源,总的来说这个问题解决还是比较快的,也许花了半个小时吧,也不太记得使用了多少时间。
嗯…这次解决这个问题……又得到了宝贵的经验了,哈哈
AWStats 其实可以统计任意格式的日志
糟糕的蜘蛛再次出现
屏蔽IP:124.115.0.0/255.255.255.248,这是一个疯狂的网站采集者
百度傻掉了,竟然收录503网页
GS想到的一种可用于论坛系统的缓存技术
请给这篇日志评个分吧!
动网,你赶什么时髦?
我的零亚~~

2006年10月30日 23:43 | by 






那还是没用,一个线程就是一个连接,只是在任务结束之后会很快关闭
貌似我还是开着下载
不用测试了,不过你最好不要开下载就是
貌似现在已经关闭保持连接了,有空你测试看看
那你应该这样设置proxy到localhost:81
IIS监听127.0.0.1:81这样就不能从外面进行IIS的直接访问只能通过Apache的代理,不过还是没有达到突破IIS 5.1十个线程的目的,关于这点,可以尝试关闭IIS的持久连接