2010-06-01 103 views
7

我有一个运行在IIS 6/Windows Server 2003上的ASP.NET 1.1应用程序。 这是我们的应用程序,但我们试图专门复制客户的安装,以便应用程序文件夹完全从其生产服务器复制到我们的测试机器上,然后我们手动为IIS创建了虚拟目录和Web应用程序。IIS HTTP错误403.1 - 禁止:执行访问被拒绝

Internet信息服务(IIS)管理器:

  • 应用程序池
  • 网站
    • 默认Web站点
      • XXXXX(虚拟目录)
        • YYYYY( 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的正确映射
  • 虚拟目录属性允许脚本和可执行文件来运行
  • 匿名访问已打开并且用户名和密码是正确的

我缺少什么?

回答

13

当您在IIS上创建应用程序时,是否检查了允许脚本执行?您需要开启两个首选项才能执行此应用程序中的任何内容,包括您所做的虚拟目录。

在父应用程序>主目录选项卡>设置为仅脚本执行权限右键单击...

+1

我想你的意思是,如果Web应用程序(yyyyy)是从虚拟目录(xxxxx)的下一层开始,每个属性都单独设置为允许脚本执行? 原来你是对的,在这种情况下,较低级别(yyyyy)不会覆盖较高级别(xxxxx),以便修复它。 – Coxy 2010-06-02 00:50:03

+0

它可以是上层不重写或上层设置为不执行脚本...我看不到你的IIS设置,但是当脚本不能执行时,这是第一个要查找的内容... – eugeneK 2010-06-02 07:45:53

+0

我刚刚得到用一个静态网站抓住这个。启用默认内容页面(例如index.htm)的机制可能需要授予此权限才能运行。我原以为UI会照顾到这一点。时间退休旧IIS 6服务器我想! – MarkHone 2014-01-31 09:19:33

1

您可能还需要检查“编辑功能权限...”在处理程序的右窗格按钮映射特定应用程序的设置并启用“执行”。这是我的同事和我持续了3个小时,其他症状完全相同。