cgi页面无法从本地IIS工作

时间:2015-07-10 13:19:57

标签: perl iis iis-7.5

我最近将我的计算机重新映像并重新安装了所有内容。一切正常,除了来自我的本地主机,如果我浏览它抛出的cgi页面

  

HTTP错误500.0 - 内部服务器错误无法显示页面   因为发生了内部服务器错误。

     

模块CgiModule

     

通知ExecuteRequestHandler

     

Handler Perl脚本

     

错误代码0x800700c1

     

请求的URL localhost:80 / website1 / index.cgi

     

登录方法NTLM

我启用了Windows身份验证,其他所有功能都已禁用。我的ISAPI和CGI限制显示一切都是允许的。我的处理程序映射(在机器级别)使用CGIModule启用* .cgi(运行\ inetsrv \ cgi.dll存在)。我不知道还有什么要检查。请指教。

知道如何纠正/调试这个吗?我在Windows 7上安装了IIS 7.5。

1 个答案:

答案 0 :(得分:0)

最后这就是我所做的

  • 如果已安装Perl,请卸载它。 (我们将在安装IIS后重新安装)。如果你有,删除c:Perl。重要的是,在你做之前复制一份。
  • 如果已经安装了IIS,请将其卸载。 (我们将重新安装)。删除c:inetpub和c:\ Windows \ system32inetsrv。在你做之前复制一份,以防万一。
  • 通过控制面板卸载后,还执行以下卸载命令以进行干净卸载

    start / w pkgmgr / uu:IIS-WebServerRole; IIS-WebServerManagementTools; IIS-IIS6ManagementCompatibility; IIS-Metabase; IIS-WMICompatibility; IIS-ManagementConsole; IIS-ManagementScriptingTools; IIS-WebServer; IIS-CommonHttpFeatures; IIS-StaticContent; IIS-DefaultDocument; IIS-DirectoryBrowsing; IIS-HttpErrors; IIS-HttpRedirect; IIS-ApplicationDevelopment; IIS-ASP; IIS-ASPNET; IIS-ISAPIExtensions; IIS-ISAPIFilter; IIS-NetFxExtensibility; IIS-ServerSideIncludes; IIS-HealthAndDiagnostics; IIS- HttpLogging; IIS-HttpTracing; IIS-LoggingLibraries; IIS-RequestMonitor; IIS的性能; IIS-HttpCompressionStatic; IIS的安全性; IIS-的requestFiltering; IIS-WindowsAuthentication; WAS-WindowsActivationService; WAS-中processModel; WAS-NetFxEnvironment; WAS-ConfigurationAPI < / p>

  • 重启机器

  • 安装IIS。确保在安装perl之前在IIS中安装CGI部件

  • 检查IIS中的所有内容(CGI除外)是否有效。您可能必须在IIS安装后注册aspnet。

    %windir%Microsoft.NETFramework64v4.0.30319aspnet_regiis.exe -i

  • 安装Perl。点击“下一步”后,您会看到“选择设置选项”屏幕。并具有以下选项:a)将perl添加到PATH环境变量b)为perl ISAPI创建.plx脚本映射,c)为PERL创建.pl脚本映射等。检查所有这些选项

  • 比较备份的perl位置和新位置(C:\ Perl)。复制任何丢失的文件

  • 在IIS中创建应用程序池和虚拟目录。在应用程序池中,&#34;启用32位应用程序&#34;

  • 在IIS中添加ISAPI和CGI限制。从命令提示符处执行以下操作。

    c:\ Windows \ System32 \ inetsrv&gt; appcmd set config / section:isapiCgiRestriction /+" [path =&#39; C:perlbinperl.exe&#34;%s%s&#34;&# 39;介绍=&#39; Perl的&#39;,允许=&#39;真&#39;]&#34;