Web 部署到 IIS7 失败,错误代码为 401(未授权)

Web 部署到 IIS7 失败,错误代码为 401(未授权)

我们在 Windows Web Server 2008 R2 上运行 IIS7。它被设置为支持 Web Deploy。当我们使用默认管理员帐户时,它运行良好。我们最近禁用了此帐户(出于安全原因),现在正尝试使用属于管理员组的另一个帐户进行部署。

使用此帐户,部署会失败,错误代码为 401(未授权)。更具体地说,它显示:

使用 Web 部署代理服务连接到“<IP>”,但无法授权。请确保您是“<IP>”上的管理员。远程服务器返回错误:(401) 未经授权。

我该如何解决这个问题?

答案1

嗯,这是一个权利问题:正确的解决方法:

快速修复(不推荐)将您进行部署的 win 用户添加到管理员组。

希望这可以帮助 。

答案2

检查应用程序站点和文件夹的访问权限,转到起始页/服务器(名称)(帐户)/管理。或者转到站点/应用程序管理。

答案3

如果您遇到此问题,可以通过创建以下 Windows 注册表项来解决它:

HKLM:\Software\Microsoft\WebManagement\Server "WindowsAuthenticationEnabled" 设置"1"

您可以通过将以下行复制到以管理员身份运行的 Powershell 控制台中轻松实现此目的:

$webDeployWindowsAuth = "HKLM:\Software\Microsoft\WebManagement\Server" $winAuthEnabled = "WindowsAuthenticationEnabled" $winAuthValue = "1" if(Test-Path $webDeployWindowsAuth) { New-ItemProperty -Path $webDeployWindowsAuth -Name $winAuthEnabled -Value $winAuthValue -PropertyType DWORD -Force }

然后,检查该密钥是否在 Windows 注册表上成功创建后,您必须重新启动 Web 管理服务,然后才能尝试再次部署您的应用程序。

答案4

如果您查看存储应用程序文件的位置,则可能“管理员”帐户具有访问权限,但“管理员”组从未设置过此类权限。此外,C:\windows\system32\inetsvr 文件夹可能需要写入(因为部署需要更新配置/文件,并且某些应用程序部署会更新事件日志注册表项。仅仅成为管理员组的成员并不总是“万能的”。

相关内容