AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 722230
Accepted
SeanKilleen
SeanKilleen
Asked: 2015-09-15 09:19:03 +0800 CST2015-09-15 09:19:03 +0800 CST 2015-09-15 09:19:03 +0800 CST

通过 jenkins 和服务帐户进行 msdeploy:已连接但“无法授权”?

  • 772

背景/目标

运动部件:

  • 我有一个服务帐户,我们称之为MyDomain\svcMyService。
  • 我有一个远程服务器,我们称之为MyDomain\MyServer。
  • 我有一个 Jenkins 服务器,我们称之为MyDomain\MyJenkins.

在 Jenkins 中,我有一个部署任务。它抓取一些工件,然后调用msdeploy以将它们推送到 MyServer。

此部署步骤失败,我想弄清楚原因。

我正在使用的 MSDeploy 命令

该命令由 Jenkins 自动生成,最终结果如下(省略敏感数据):

 "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:iisApp="E:\Jenkins\jobs\NotARealJobName\workspace" -dest:iisApp="MyWebSite/MyWebApp",ComputerName="https://MyServer:8172/MsDeploy.axd",UserName=MyDomain\svcMyService,Password="NotARealPassword" -allowUntrusted 

错误

我从 msdeploy 输出看到的错误消息是:

错误代码:ERROR_USER_UNAUTHORIZED 更多信息:使用 Web 管理服务连接到远程计算机(“MyServer”),但无法授权。确保您使用正确的用户名和密码,您要连接的站点存在,并且凭据代表有权访问该站点的用户。了解更多信息:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_USER_UNAUTHORIZED 。

错误:远程服务器返回错误:(401)未经授权。

我对我必须做什么的理解

这可能是一个不完整或不正确的列表。请告诉我这是否是问题所在。

我想我必须:

  • 在 IIS 上安装 WebDeploy(在这种情况下是最新的 3.6)。
  • 在 IIS 中启用管理服务。
  • 创建一个以MyDomain\svcMyService.
  • 是的,部署的同一个用户名也在运行它。不是最好的,我知道。此刻不在我的手中。
  • 为我的 IIS Web 应用程序创建目录。
  • 授予对此目录的权限。
    • 完全权限svcMyService
    • 完全权限WDeployAdmin
    • 完全权限NetworkService(因为这就是 WMSvc 的运行方式)
  • 使用适当的端口创建网站
    • 网站应该在服务账户的应用程序池下运行
    • 该网站应使用该svcMyService帐户连接到该文件夹​​。
  • 在网站下创建一个 Web 应用程序。
    • 该网站应使用该svcMyService帐户连接到该文件夹​​。
    • 将svcMyService帐户添加为站点和应用程序级别的部署管理器。
  • 确保本地WDeployConfigWriter和WDeployAdmin帐户未过期,并且其密码无法更改。
  • 如果您更改了这些本地帐户的密码,请确保 IIS 管理委派正在使用帐户并为每个委派更新这些凭据WDeployConfigWriter。WDeployAdmin

到目前为止的故障排除

我会在尝试排除故障时更新此列表。

检查 WMSvc IIS 日志 - 看起来我的用户没有发布权限

  • 日志示例如下:

#Fields: date time s-ip cs-method cs-uri-stem c-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time -采取 2015-09-14 17:10:06 [服务器 IP] HEAD /MsDeploy.axd - 8172 - [Jenkins IP] - - 401 2 5 15

我看到所有状态都是 401.2,win32 代码为 5。

根据此故障排除链接,“如果用户已通过身份验证,但没有发布所需的权限,则日志条目将如下所示”(401 2 5)。

引用的文章

  • http://www.iis.net/learn/publish/troubleshooting-web-deploy/troubleshooting-common-problems-with-web-deploy
  • http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler
iis
  • 1 1 个回答
  • 3674 Views

1 个回答

  • Voted
  1. Best Answer
    SeanKilleen
    2015-09-15T09:50:21+08:002015-09-15T09:50:21+08:00

    我在 2011 年的这个旧论坛帖子上找到了答案——看起来真的很模糊。

    在该论坛帖子中找到的解决方案是:

    • 打开注册表
    • 打开路径HKEY_LOCAL_MACHINE\Software\Microsoft\WebManagement\Server
    • 添加一个名为的 DWORD WindowsAuthenticationEnabled,其值为1
    • 重新启动 WMsvc 和 IIS

    执行这些步骤后,它似乎第一次对我有用。

    • 5

相关问题

  • 2003 Server企业版不能运行ASP.NET应用程序?

  • 启用集成 Windows 身份验证时,ASP(经典)在哪个帐户下运行?

  • 是否有一种简单的方法可以生成有关 IIS 中“死”文件的报告?

  • IIS 7 中的 URL 重写

  • 对于 ASP.Net 应用程序,Windows 64 位相对于 32 位的主要优势是什么?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve