文章类型: .NET
关键词: Windows,Server,2008,R2,IIS7,asp,access,网站,500,内部服务器错误,设置权限
内容摘要: Windows Server 2008 R2 IIS7 asp网站 500 内部服务器错误 temp 设置权限

Windows Server 2008 R2中使用IIS7发布asp网站+Access数据库发生500 内部服务器错误

2017/11/3 15:04:14    来源:apple    阅读:

1.        让 IIS7 支持 ASP

 

Win2008 IIS7 默认不安装 ASP,如果需要 ASP 的支持,需要将这个角色服务选上。

 

2、相关设置

 

应用程序池-->DefaultAppPool-->高级设置-->启用 32 位应用程序,置为

 

True

上面的这一条设置由于没有操作,一直出现“500 内部服务器错误”,百度查找(“Windows Server 2008 R2 IIS7 asp网站 500 内部服务器错误 temp 设置权限”)原因,找资料,进行相关设置,一直没有找到相关的这个设置问题,浪费了很多时间,特别在此处注明。

 

如果只使用 ASP 功能,可将 2 项 ASP.NET 以及 Classic .NET AppPool

 

停止

 

网站-->编辑权限-->网站目录属性,安全-->添加 IUSR:修改、读取、写权限(仅读权限可能读不出 .mdb)

 

网站-->IIS-->ASP-->行为-->启用父路径,置为 True;并视需要修改调试里的参数

 

网站-->IIS-->默认文档-->添加网站首页文档,如 index.asp

 

 

以下的权限设置可以参考:

 

1、在服务器计算机管理中新建一网站用户用于对网站的匿名访问,比如用户名

 

  vcoo

 

2、IIS7.5 中新建网站时物理路径下面有个【连接为...】,点开后设置为特定用户为之前新建的 vcoo

 

3、IIS7.5 中选择网站,在右边的功能视图中选择身份验证,编辑【匿名身份验证】为新建的 vcoo

 

4、在磁盘网站目录中添加 vcoo 用户的读取和修改权限

 

5、值的注意的是硬盘网页目录权限要设置网页 web 目录上级目录的权限(暂时不知为何)

 

6、可笑的是从网上搜索到的答案是给网页目录添加 Everyone 用户的完全控制权,找黑呢!可笑!

 

以下是 IIS7.5 的权限介绍:

工作进程(Worker Process)

Worker Process是 IIS 应用程序的宿主, 在任务管理器中可以看到每一个Worker Process就是一个 w3wp.exe.

 

工作进程标识(Worker Process Identity - WPI)

Worker Process 运行时的身份:

 * IIS6, Windows 2008 IIS7 , 默认关联权限是 NetworkService.

* Windows 2008 R2 IIS7.5 ,默认是关联权限是Application Pool Identity.

Application Pool Identity这里并没有提供一个直接的手段来设置 Worker Process 在什么身份标识下运行, 而是通过 Application Pool 的身份标识设定来实现的.

 

应用程序池(Application Pool)

 

Application Pool 包含至少一个或多个 Worker Process(Web Garden 模

 

式). 在运行时会将 Application Pool 的身份注入到 Worker Process

 

中, 就会以ApplicationPool的身份运行. 可以认为Application Pool与其

 

包含的 Worker Process 的运行身份是一致的.

 

应用程序池标识(Application Pool Identity)

 

是 Application Pool 运行时的身份:

 

* 在 IIS6, Windows 2008 IIS7 下, 默认关联权限是 NetworkService.

 

*        在 Windows 2008 SP2 IIS7 下, 运行身份设置时除了

 

LocalService,NetworkService, LocalSystem 外增加了

 

Application Pool Identity 一个选项, 而这个则是一个可以设置权限的虚拟标识.

 

*        在 Windows 2008 R2 IIS7.5 下, 默认是关联权限是 Application Pool Identity.

 

虚拟帐户 Application Pool Identity

 

只是一个统称, 并不存在实际的这个命名。他依赖你的 Application Pool 的名称,例如我的 Application Pool 名字叫做: SimonwAppPool, 那么这个虚拟标识的全名是: IIS AppPool\SimonwAppPool 运行在此 Application Pool 下的 Worker Process 从任务管理器中可以看到 w3wp.exe 是在 SimonwAppPool 这个用户下运行的。可以在文件系统中对这个帐户分配权限.这么做的好处是能够将能够将权限分离开来做粒度更细的配置,不像是 NetworkService 有很多应用基于此,设置一个权限影响一大片。

 

不过有时候通过 UI 找不到这个对象大约是个 Bug, 通过命令行 icacls 处理即可.

 

用户组与用户

 

在 IIS7 下需要注意 2 个特殊的用户和用户组, 在 IIS6 中有着类似的对应关系

 

IIS6:IIS_WPG - IIS7:IIS_IUSRS

 

IIS6:IUSR_MachineName - IIS7:IUSR

 

最大的改变就是他们都成为了系统内置帐户(built-in account)有着统一的SID,这样的好处在于做不同机器/系统间的拷贝时可以连带权限一同拷贝过去了, 在以往因为 SID 不同换了机器权限是无法有效拷贝的只能挨个手动设置, 现在方便多了.


IIS_IUSRS

默认他会拥有适当的权限来运行 Worker Process. 所有的 WPI 下的运行帐户

 

均被隐式的自动加入到这个组中, 以获得最小的运行权限. 例如当你将

 

SimonwAppPool 这个 Application Pool 的运行身份设置为

 

Application Pool Identity, 那么 IISAppPool\SimonwAppPool 这个用户会被自动加入到 IIS_IUSRS 组中拥有他的全部权限. 因此对此组权限赋值需很小心很容易不知不觉中影响一大片.

 

IUSR 默认匿名帐户

 

特别需要注意的别看他是一个匿名帐户并且没有密码, 但他属于 authenticatedusers ,而 authenticated users 属于 Users 组, 因此 IUSR 默认具备了 Users 组的权限.

 

以下为网上找到的其它设置,试过,发现在 2008 IIS7.5 中,不设也可以:默认装完 IIS7 之后,如果使用 ASP 程序时,提示数据库连接失败,可能是因为 MS Jet 引擎改变了临时目录的位置,但是又没有对临时的存取权限所致:

 

给 C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp 目录添加 Authenticated Users 用户,并赋全部权限。其中 AppData 目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。

 

 

也有贴子提到给 C:\Windows\Temp 文件夹,添加用户 Authenticated Users ,并赋全部权限。

 

链接方式:

 

ServerPath=Server.MapPath("/xxx.mdb")

 

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ServerPa

 

th

 

Set schooldb=Server.CreateObject("Adodb.Connection")

 

schooldb.Open connstr

↑ 上一篇文章:Windows Server 2008下IIS 7配置ASP+ACCESS环境 关键词:Windows,Server,2008,IIS7,配置,.. 发布日期:2017/11/3 15:01:25
↓ 下一篇文章:acess数据库中的多表连接(内连接inner join和左连接left join)查询 关键词:acess,数据库,多表连接,内连接,inner,joi.. 发布日期:2017/11/3 15:24:25
相关文章:
Windows Server 2008下IIS 7配置ASP+ACCESS环境 关键词:Windows,Server,2008,IIS7,配置,asp,access,环境 发布日期:2017-11-03 15:01
Microsoft SQL Server 2008 R2官方中文版(SQL2008下载) 关键词:Microsoft,SQL,Server,2008,R2,破解,下载,官方,简体中文 发布日期:2015-07-16 16:17
HTTP Error 500.23 - Internal Server Error解决方案 检测到在集成的托管管道模式下不适用的 ASP.NET 设置的解决方案 关键词:HTTP,Error,500.23,,Internal,Server,Error,解决方案,检测.. 发布日期:2016-04-21 19:15
相关目录:.NET
我要评论
正在加载评论信息......