【问题标题】:IIS 7.5 - Initial page load works fine, but refreshing page causes 401.1 UnauthorizedIIS 7.5 - 初始页面加载工作正常,但刷新页面会导致 401.1 Unauthorized
【发布时间】:2014-06-10 12:09:17
【问题描述】:

我刚刚完成了将站点从 IIS 6 迁移到 IIS 7.5,但只是复制了 ASP 文件并在 IIS 7.5 上使用自己的应用程序池设置了新站点。我没有尝试导出/导入站点 - 只是一个开箱即用的配置。

但是我遇到了一个问题,这些页面正在使用 Windows 身份验证,我发现用户可以成功导航到 index.asp,并且它正确地将它们作为用户进行身份验证。但是,如果他们刷新页面,他们将获得一个“输入您的凭据”框。即使他们输入了正确的凭据,他们也会收到“401.1 Unauthorized”消息。

但是,如果用户等待 30 秒并刷新页面,则它的身份验证正确。

由于某种原因,如果用户在 30 秒或更短时间内刷新同一页面,Windows 身份验证将失败。

只是想知道是否有人见过这样的事情?

【问题讨论】:

    标签: iis iis-7 asp-classic iis-7.5


    【解决方案1】:

    这是我从 IIS 6 迁移到 7.5 时一直在构建的清单:

    (1) 不要以 .com、.net 等结尾来命名站点文件夹。

    (2) 创建新用户帐户: - [应用程序池用户身份] 是用户:app_pool_blahblahblah,密码:xxxxxx

    (3) 在服务器管理器中,右键单击“Web 服务器 (IIS)”并选择“添加角色服务”。添加 IIS 6 管理兼容性。

    (4) 在服务器管理器功能下添加 SMTP 服务器。 安装 IIS6 资源工具包,以便您可以 使用元数据库资源管理器。 授予 [app pool user identity] 用户对 IIS Metabas 中 /Local Machine/SmtpSvc/ 和 /Local Machine/SmtpSvc/1/ 节点的读取权限

    (5) 在应用程序池中,高级设置: - 将 .Net Framework 版本设置为“v2.0”

    (6) 邮件:在 IIS 6 管理控制台中: http://intellitect.com/configuring-windows-smtp-server-on-windows-2008-for-relay/ - 在 SMTP 虚拟服务器属性下: -- “访问”选项卡 --> 中继:添加此框的IP,包括127.0.0.1 -- "Delivery" 标签 --> Advanced: for "fully qualified domain name" put name of box --“交付”选项卡-->高级:对于“智能主机”放置“dedrelay.secureserver.net” -- “交付”选项卡 --> 出站连接:确保限制设置为 100。 -- “安全”选项卡 --> 添加“[应用程序池用户身份]”和 IIS_IUSRS

    (7) 在 IIS 7.5 下的网站: - 在 ASP 下: -- 仅在出现问题时:将启用缓冲设置为“false” -- 在限制下将最大请求实体和缓冲限制更改为 1024000000 -- 将脚本语言设置为“vbscript” -- 将“向浏览器发送错误”设置为 true - 身份验证 --> 编辑“匿名身份验证”并设置为应用程序池身份。
    - 仅在出现问题时:在错误页面下:在 404 下设置为“/home.asp”和“执行 URL” - 仅在出现问题时:编辑 c:\windows\system32\inetsrv\config\applicationHost.config:更改为“允许” - 在管理(底部)下进入“配置编辑器”。 -- 在下拉列表中转到 System.web --> http 运行时并将 maxRequestLength 更改为 1024000000 -- 在下拉列表中转到 System.webserver/security/requestFiltering --> chg allowDoubleEscaping=true

    (8) 为以下文件夹设置 [应用程序池用户身份] 的“修改”权限: - 你的网页 - 窗户\温度 -inetpub\temp -inetpub\mailroot - 仅在出现问题时:windows\serviceprofiles\networkservice\AppData\Local\Temp?

    并在注册表中设置权限: - 仅在出现问题时:HKLM\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines?

    对于这些用户帐户: - IIS_IUSRS - [应用程序池用户身份] - 网络服务

    (9) 安装和使用进程监视器查找权限问题-过滤器

    (10) 确保没有使用 SSL v2: 单击开始,单击运行,键入 regedit,然后单击确定。 在注册表编辑器中,找到以下注册表项/文件夹: HKey_Local_Machine\System\CurrentControlSet\Control\SecurityProviders \SCHANNEL\协议\SSL 2.0 右键单击 SSL 2.0 文件夹并选择新建,然后单击密钥。将新文件夹命名为 Server。 在服务器文件夹中,单击编辑菜单,选择新建,然后单击 DWORD(32 位)值。 输入 Enabled 作为名称,然后按 Enter。 确保它在“数据”列下显示 0x00000000 (0)(默认情况下应该如此)。如果不是,请右键单击并选择修改并输入 0 作为值数据。 重新启动计算机。 验证 ServerSniff.net 或公共 SSL 服务器数据库中没有可用的 SSL 2.0 密码

    (11) Safari 告诉客户端它需要证书的 SSL 问题。 - 进入受 SSL 保护的站点的 IIS 设置。 - 点击“SSL 设置” - 选择“忽略”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 2016-04-30
      相关资源
      最近更新 更多