【问题标题】:Moved to Windows 2012/IIS 8.0 from Windows 2008 R2/IIS 7.5 and websites aren't working从 Windows 2008 R2/IIS 7.5 移至 Windows 2012/IIS 8.0,网站无法正常工作
【发布时间】:2014-12-23 18:11:01
【问题描述】:

升级网站时是否需要考虑任何特殊

Windows 2008 R2 / IIS 7.5

Windows 2012 / IIS 8.0 ?

一些可能相关的信息,我不知道,但在我的网站中,我使用 Negotiate:Kerberos 作为我的 Windows 身份验证提供程序,并在我的 服务端点身份。


这是我的错误:

此配置部分不能用于此路径。当该部分锁定在父级别时会发生这种情况。默认情况下锁定 (overrideModeDefault="Deny"),或者由具有 overrideMode="Deny" 或旧版 allowOverride="false" 的位置标记显式设置。

现在,错误是在 <system.webServer> 配置部分下抱怨这一行:

<windowsAuthentication enabled="true" authPersistNonNTLM="true" useKernelMode="false">

这是&lt;system.webServer&gt; 配置部分的精简版:

<system.webServer>

    <security>
        <authentication>

            <anonymousAuthentication enabled="false" />
            <basicAuthentication enabled="false" />
            <clientCertificateMappingAuthentication enabled="false" />
            <digestAuthentication enabled="false" />
            <iisClientCertificateMappingAuthentication enabled="false" />

            <windowsAuthentication enabled="true" 
                                   authPersistNonNTLM="true" 
                                   useKernelMode="false">

                <extendedProtection tokenChecking="None" />

                <providers>

                    <clear />
                    <add value="Negotiate:Kerberos" />

                </providers>

            </windowsAuthentication>

        </authentication>
    </security>

    <!--required for impersonation-->
    <validation validateIntegratedModeConfiguration="false" />

</system.webServer>

这是&lt;system.serviceModel&gt; 配置部分的精简版:

<system.serviceModel>
    <services>
        <service name="Deploy.Web.Services.Service" 
                 behaviorConfiguration="DeployServiceBehavior">

            <endpoint binding="basicHttpBinding" 
                      bindingConfiguration="DeployBasicHttpBinding" 
                      behaviorConfiguration="DeployEndpointBehavior" 
                      contract="Deploy.Web.Services.IService">

                <identity>

                    <dns value="" />
                    <servicePrincipalName value="HTTP/SERVERNAME" />

                </identity>

            </endpoint>

        </service>
    </services>
</system.serviceModel>

【问题讨论】:

    标签: asp.net web-config windows-server-2012 iis-8


    【解决方案1】:

    我们想通了!

    IIS 8.0 内部 > 服务器父节点 > 功能视图 > 管理部分 > 功能委派

    Authentication - Windows 设置为 Read Only 而不是 Read/Write。一旦我们将其更改为Read/Write,这些站点就会重新开始工作。

    因此吸取了教训,这是您在升级时需要检查的另一个方面!

    【讨论】:

    • 如果您确实发布了错误,它可能会有所帮助
    • @ErikFunkenbusch - 我找到并添加了错误消息。它不在我的机器上,所以我不能像往常一样截屏。如果您不介意 =D,我将不胜感激我们自己找到解决方案
    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 2018-04-07
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多