代码之家  ›  专栏  ›  技术社区  ›  Coxy

IIS HTTP错误403.1-禁止:执行访问被拒绝

  •  7
  • Coxy  · 技术社区  · 14 年前

    我在IIS 6/Windows Server 2003上运行了一个ASP.NET 1.1应用程序。 这是我们的应用程序,但我们正试图具体复制客户的安装,因此应用程序文件夹已完全从其生产服务器复制到我们的测试机上,然后我们手动为IIS创建了虚拟目录和Web应用程序。

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

    • 应用程序池
    • 网站
      • 默认网站
        • 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的所有谓词。
    • 虚拟目录属性允许运行脚本和可执行文件
    • 匿名访问已打开,用户名和密码正确。

    我错过了什么?

    2 回复  |  直到 8 年前
        1
  •  13
  •   eugeneK    14 年前

    在IIS上创建应用程序时,是否选中“允许脚本执行”?您需要打开两个第一选择,以便执行此应用程序中的任何操作,包括您所创建的虚拟目录。

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

        2
  •  3
  •   jorr-el    8 年前

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