IIS HTTP错误403.1 - 禁止:执行访问被拒绝
问题描述:
我有一个运行在IIS 6/Windows Server 2003上的ASP.NET 1.1应用程序。 这是我们的应用程序,但我们试图专门复制客户的安装,以便应用程序文件夹完全从其生产服务器复制到我们的测试机器上,然后我们手动为IIS创建了虚拟目录和Web应用程序。IIS HTTP错误403.1 - 禁止:执行访问被拒绝
Internet信息服务(IIS)管理器:
- 应用程序池
- 网站
- 默认Web站点
- XXXXX(虚拟目录)
- YYYYY( Web应用程序)
- XXXXX(虚拟目录)
- 默认Web站点
- Web服务扩展
我的问题是,当我们访问应用程序,我们得到了标准的IIS安全性的错误消息:
The page cannot be displayed
You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.
--------------------------------------------------------------------------------
Please try the following:
•Contact the Web site administrator if you believe this directory should allow execute access.
HTTP Error 403.1 - Forbidden: Execute access is denied.
Internet Information Services (IIS)
现在这是非常标准的,除非我可以看到它是而不是任何如此简单。
我已经检查:
- IIS用户有读目录
- IIS用户和网络服务的用户已经阅读到ASP.NET临时文件夹
- 虚拟目录是/写访问设置为正确版本的ASP.NET
- 允许ASP.NET 1.1 Web服务扩展
- 虚拟目录具有文件扩展名和所有动词到aspnet 1.1 DLL的正确映射
- 虚拟目录属性允许脚本和可执行文件来运行
- 匿名访问已打开并且用户名和密码是正确的
我缺少什么?
答
当您在IIS上创建应用程序时,是否检查了允许脚本执行?您需要开启两个首选项才能执行此应用程序中的任何内容,包括您所做的虚拟目录。
在父应用程序>主目录选项卡>设置为仅脚本执行权限右键单击...
答
您可能还需要检查“编辑功能权限...”在处理程序的右窗格按钮映射特定应用程序的设置并启用“执行”。这是我的同事和我持续了3个小时,其他症状完全相同。
我想你的意思是,如果Web应用程序(yyyyy)是从虚拟目录(xxxxx)的下一层开始,每个属性都单独设置为允许脚本执行? 原来你是对的,在这种情况下,较低级别(yyyyy)不会覆盖较高级别(xxxxx),以便修复它。 – Coxy 2010-06-02 00:50:03
它可以是上层不重写或上层设置为不执行脚本...我看不到你的IIS设置,但是当脚本不能执行时,这是第一个要查找的内容... – eugeneK 2010-06-02 07:45:53
我刚刚得到用一个静态网站抓住这个。启用默认内容页面(例如index.htm)的机制可能需要授予此权限才能运行。我原以为UI会照顾到这一点。时间退休旧IIS 6服务器我想! – MarkHone 2014-01-31 09:19:33