分享

在Windows2003中配置ASP

 大肚 2007-01-12
在Windows2003中配置ASP
尽管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 directoryiis metabase数据库和com+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的iwam密码的同步工作。当三方iwam账号所用密码不统一时,就会造成http 500内部错误。

 

2、解决办法

知道了导致http 500内部错误的原因,解决起来就比较简单了,那就是人工同步iwam账号在active directoryiis metabase数据库和com+应用程序中的密码。

具体操作分三步,均需要以管理员身份登录计算机以提供足够的操作权限(iwam账号以iwam_gd为例)

(一)   更改active directoryiwam_gd账号的密码

iwam账号的密码由系统控制,随机产生,我们并不知道是什么,为完成下面两步的密码同步工作,我们必须将iwam账号的密码设置为一个我们知道的值。
  
·选择开始”->“程序”->“管理工具”->"active directory用户和计算机",启动“active directory用户和计算机管理单元。
  
·单击“user”,选中右面的“iwam_gd”,右击选择重设密码(t)...”,在跳出的重设密码对方框中给iwam_gd设置新的密码,这儿我们设置成“win2003”(没有引号的),确定,等待密码修改成功。

(二)   同步iis metabaseiwam_gd账号的密码

iis6提供了一个管理脚本adsutil.vbs,这个脚本位于c:\inetpub\adminscripts子目录下(位置可能会因你安装iis6时设置的不同而有所变动)。

iis metabaseiwam_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”->“

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多