CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process.
在iis官方论坛中提到这是由于服务器端会将CGI当作一个可执行文件执行。原帖在此处http://forums.iis.net/t/1147117.aspx
解决方法是将IIS应用程序设置中的执行权限更改为“无”或“纯脚本“。
当然此方法不限于asp.net。其他情况也是这种原因。
软件版本:
Apache :apache_2.2.14-win32-x86-no_ssl.msi
1.Apache2.2
选择Custom,然后配置安装目录,默认向下,安装完Apache后。可以先测试下,
浏览器IP地址输入127.0.0.1。
可以看到已经正常工作了。
开始配置Apache, 在安装目录下的 ~\Apache Software Foundation\Apache2.2\conf\, 编辑http.conf文件,这是一个文本文件,从开始菜单也能看到他的配置。
程序\Apache HTTP Server 2.2\Configure Apache Server\Edit the Apache httpd.conf Configuration File.
配置apaceh活动目录
查找关键字DocumentRoot,这个是网站根目录,可以更改为自己的目录。
查找Directory, 配置为跟DocumentRoot一样的目录,这个是必须要同步的。
原文如下:
This should be changed to whatever you set DocumentRoot to.
查找关键字,DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如有些网站的首页是index.htm,就在光标那里加上“index.htm”文件名是任意的,不一定非得“index.html”,比如“test.php”等,都可以。
Apache的简单配置完成。
服务端环境:Windows2008 + IIS7
客户端浏览器设置:取消“显示友好的HTTP错误信息”
IIS7设置(GUI):
1. <网站>-ASP-调试属性-将错误发送到浏览器,修改为True
2. <网站>-错误页-操作-编辑功能设置,选择“详细错误信息”
默认情况下,这里选择的是第三项“本地请求的详细错误和远程请求的自定义错误页”,所以出现的情况会是:在本地调试可以看到错误的详细信息,但是通过远程来访问的时候就看不到了。
另外,网上有些说法是将500这个错误也修改为500-100.asp。自己尝试了一下,并没有实际效果。如果不设置上面的第二步,错误同样无法发送到客户端的浏览器上。
Windows 2008 IIS7中如何显示ASP的详细错误信息
在Windows 2008 IIS7下如果是Asp程序的话,如果出错,就会显示一条联系管理员信息,如果我们希望显示详细的错误信息,那该怎么办呢?你可以通过下面的方法来修改,当然如果都调试完成后,最好把其改回来,因为这样可以减少被攻击的风险。
1 运行命令法:
%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true
如果想改回去,变成不显示详细信息的话,只需要运行下面的命令:
%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:false
2 修改文件法
你可以打开%windir%\system32\inetsrv\config\applicationHost.config文件,修改system.webServer一节下的asp项,增加scriptErrorSentToBrowser=”true”属性,如下图所示就可以了,当然,要改回去的话,删除新增加的内容就可以了,然后存盘退出。
注意:同时你需要将IE的设置中要取消“显示友好HTTP错误信息”位置在"Internet选项"-"高级"-“显示友好HTTP错误信息” Checked=False 。
3 UI配置法
这个最简单了,直接双击ASP图标,然后进行设定就可以了。不过注意的是,一定要安装了Asp模块才能看到Asp图标,安装模块是在服务管理器的角色中添加的。