在Windows2003中配置ASP

来源:百度文库 编辑:神马文学网 时间:2024/04/27 20:41:18
尽管Windows2003号称安全性有很大突破,默认支持.net架构,而抛弃使用了很久的大众化的Asp的路线却饱受质疑,需要我们手动去配置很多东西。    在IIS6.0 中,默认设置是特别严格和安全的,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。比如说默认配置数据库属性实施的最大 ASP 张贴大小为 204,800 个字节,并将各个字段限制为 100 KB。在IIS 6.0 之前的版本中,没有张贴限制。导致很多应用系统往2003移植经常会出错。现将在移植的过程中常见问题的解决方案汇总如下。
一、不支持ASP
Windows Server 2003 默认安装,是不安装 IIS6 的,需要另外安装()。安装完 IIS 6,还需要单独开启对于ASP 的支持。
第一步,启用Asp:控制面板->管理工具-> IIS(Internet 服务器) -Web服务扩展  -> Active Server Pages ->允许;控制面板 -> 管理工具 ->IIS(Internet 服务器)- Web服务扩展 -> 在服务端的包含文件 -> 允许
第二步,启用父路径支持:IIS具体站点-属性-主目录-配置-选项-启用父路径
第三步,权限分配:IIS具体站点-(右键)权限-Users完全控制
二、最大只能上载200K
先在服务里关闭IIS Admin Service服务,打开Windows\system32\inesrv\下的metabase.xml,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,然后重启IIS Admin Service服务。  (企业版windows2003该值在第592行)
AspMaxRequestEntityAllowed=204800 即200K;将其加两个0,即改为20M
AspMaxRequestEntityAllowed=20480000
三、授权 Internet 匿名用户写权限
1、网站的虚拟目录“属性”=>目录安全性=>“编辑”=> “启用匿名用户”
2、网站的文件目录“属性”=>安全=>添加=>高级=>立即查找,选中在 IIS 中“启用匿名用户”,赋予其修改文件夹及文件的权限,并将文件夹“只读”属性去掉。(默认 Internet 匿名用户叫:Iusr_gd,“gd”为本计算机名)
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/up/feedback.asp, 第 33 行
如果你确认你的写入数据的代码没有错误,那就是这个文件夹没有写权限,这通常是ntfs分区造成的。可以通过给EveryOne/Users/ IUSR_GD完全控制权限得到解决。
[注意: 如果你的系统是XP,请先点“工具”----“文件夹选项”----“查看”-----去掉“使用简单文件共享”前的勾,确定后,文件夹“属性”对话框中才会有“安全性”这一个选项卡]
四、Http500内部错误
主要是由于iwam账号(在我的计算机即是iwam_gd账号)的密码错误造成了http 500内部错误。
1、原因分析
iwam账号是安装IIS6时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的internet信息服务。iwam账号的名字会根据每台计算机netbios名字的不同而有所不同,通用的格式是iwam_machine,即由“iwam”前缀、连接线“_”加上计算机的netbios名字组成。我计算机的netbios名字是gd,因此我的计算机上iwam账号的名字就是iwam_gd,这一点与iis匿名账号iusr_machine的命名方式非常相似。
iwam账号建立后被active directory、iis metabase数据库和com+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的iwam密码的同步工作。当三方iwam账号所用密码不统一时,就会造成http 500内部错误。
2、解决办法
知道了导致http 500内部错误的原因,解决起来就比较简单了,那就是人工同步iwam账号在active directory、iis metabase数据库和com+应用程序中的密码。
具体操作分三步,均需要以管理员身份登录计算机以提供足够的操作权限(iwam账号以iwam_gd为例)
(一)   更改active directory中iwam_gd账号的密码
因iwam账号的密码由系统控制,随机产生,我们并不知道是什么,为完成下面两步的密码同步工作,我们必须将iwam账号的密码设置为一个我们知道的值。
·选择“开始”->“程序”->“管理工具”->"active directory用户和计算机",启动“active directory用户和计算机”管理单元。
·单击“user”,选中右面的“iwam_gd”,右击选择“重设密码(t)...”,在跳出的重设密码对方框中给iwam_gd设置新的密码,这儿我们设置成“win2003”(没有引号的),确定,等待密码修改成功。
(二)   同步iis metabase中iwam_gd账号的密码
随iis6提供了一个管理脚本adsutil.vbs,这个脚本位于c:\inetpub\adminscripts子目录下(位置可能会因你安装iis6时设置的不同而有所变动)。
将iis metabase中iwam_gd账号的密码修改为“win2003”的命令就是:
c:\inetpub\adminscripts>adsutil set w3svc/wamuserpass " win2003"
修改成功后,系统会有如下提示: wamuserpass: (string) " win2003"
(三)   同步com+应用程序所用的iwam_gd的密码
同步com+应用程序所用的iwam_gd的密码,我们有两种方式可以选择:一种是使用组件服务mmc管理单元,另一种是使用iwam账号同步脚本synciwam.vbs。
A、使用组件服务mmc管理单元
·启动组件服务管理单元:选择“开始”->“运行”->“mmc”,启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。
·找到“组件服务”->“计算机”->“我的电脑”->“com+应用程序”->“out-of-process pooled applications”,右击“out-of-process pooled applications”->“