有没有办法使用 Windows 命令在 IIS 7 中重建 applicationHost.config 文件?或者,如果您可以通过修改此文件来帮助我解决问题,那也很好。将此文件与其他服务器进行比较时,我注意到在删除站点和一些应用程序池后丢失或不同的非常重要的部分。
我绝不是 IIS 7 方面的专家,但我已经使用它 7 年了。我确信已经为新站点配置执行了所有正确的步骤,但它仍然给我这个错误,"401.1 "You are not authorized to view this page. You do not have permission to view this directory or page using the credentials that you supplied."
C:\Windows\System32\inetsrv\config\applicationHost.config
这发生在一台不存在 IIS APPPOOL{app pool user} 的机器上,所以我们从来没有使用过这个用户,就像我通常在配置权限时所做的那样。然而,我们上周确实为 IIS_IUSRS(该组中包含 IUSR)添加了适当的权限,并且该站点运行良好。我们正在使用 Windows 身份验证,并且所有其他身份验证方法都已关闭。没有虚拟目录。我们正在使用 .NET 4.0、Classic 和 32 位应用程序(在高级设置下)。
我们必须通过在绑定的“C:\Windows\System32\inetsrv”中执行以下命令来手动更新主机名,因为当 VeriSign SSL 证书添加到绑定时,IIS 会使主机名变灰。
appcmd set site /site.name:"himc" /+bindings.[protocol='https',bindingInformation='*:443:subdomain.domain.com']
“坏”网络服务器上缺少的部分:
1 - 存在于“好”框中,缺少“坏”框
<customMetadata>
<key path="LM/W3SVC/INFO">
<property id="4012" dataType="String" userType="1" attributes="Inherit" value="NCSA Common Log File Format,Microsoft IIS Log File Format,W3C Extended Log File Format,ODBC Logging" />
<property id="2120" dataType="MultiSZ" userType="1" attributes="None" value="400,0,,,0
" />
</key>
</customMetadata>
2 - 存在于“好”框中,缺少“坏”框
<asp>
<cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
</asp>
3 - 此部分存在于“好”框上,但只有 2.0(前 2 行)存在于“坏”框上。
<isapiFilters>
<filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0_for_V1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
<filter name="ASP.Net_4.0_64bit" path="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness64" />
<filter name="ASP.Net_4.0_32bit" path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness32" />
</isapiFilters>
4 - 此部分存在于“坏”框上,但在“好”框上缺失
<applicationDependencies>
<application name="Active Server Pages" groupId="ASP" />
</applicationDependencies>
5 - “好”框上缺少 ssiExecDisable 属性
<serverSideInclude ssiExecDisable="false" />
6 - “坏”框上缺少部分
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>