MsDeploy 正在返回 403 禁止

Posted

技术标签:

【中文标题】MsDeploy 正在返回 403 禁止【英文标题】:MsDeploy is returning 403 forbidden 【发布时间】:2011-11-30 11:33:38 【问题描述】:

我们有一个在 Intranet 上运行的 Web 应用程序,我正在尝试使用 Visual Studio 2010 将其发布到 Internet。目标服务器正在运行 iis7,而 Web 管理服务正在运行。

在 Visual Studio 2010 上,我的服务 URL 是:

https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd

站点/应用程序是:

默认网站/WebApp

在目标上标记为 IIS 应用程序并选中允许不受信任的证书,并且我正在使用管理帐户。

Visual Studio 返回以下错误:

开始 Web 部署 将应用程序/包发布到 https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default%20Web%20Site ... C:\程序 文件\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3588,5): 错误:Web 部署任务失败。(远程代理(URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default 网站)可以 不被联系。确保远程代理服务已安装并且 在目标计算机上启动。)

远程代理(网址 https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default 网站)可以 不被联系。确保远程代理服务已安装并且 在目标计算机上启动。收到了不受支持的响应。 响应标头“MSDeploy.Response”为“”,但应为“v1”。 远程服务器返回错误:(403) Forbidden。

任何想法如何在没有有效 SSL 证书的情况下发布它?

【问题讨论】:

【参考方案1】:

如果你进入 IIS, 单击“连接”列表中的服务器节点, 双击“管理服务”,然后您将进入具有“启用远程连接”复选框的屏幕。 由于服务正在运行,此复选框(以及屏幕的其余部分)可能会显示为灰色。只需单击“操作”窗格中的“停止”链接,然后选中“启用远程连接”框和您要在此处更改的任何其他设置,然后再次单击“操作”窗格上的“应用”和“开始”。 希望这可以让您使用适当的凭据从远程计算机连接到服务。 (如果正确的端口和东西被打开了,所有的爵士乐。) 我认为这对您的情况有所帮助。至少您不会收到 403,但您可能会遇到其他一些 MsDeploy 错误。

【讨论】:

我遇到了同样的问题。我相信我的配置由于在配置更改期间硬重启而损坏。我采取了这些步骤,但没有改变任何东西。 (将身份验证更改为仅 Windows、应用,然后返回 Windows + ISS Mgr)。这为我解决了问题。 下一个错误将是 Not Found 。要修复它去添加和删除程序找到你的Web部署点击更改然后安装所有功能。 我在 Window Server 2012 R2 和 Web Deploy 3.6 上遇到了同样的错误。问题是 webdeploy 最初没有完全安装,它要求重新启动机器。因此,当我重新启动服务器并再次启动 WPI 时,安装继续并且一切正常。但是重启后 WPI 不会启动,所以我不得不手动启动它。希望这会帮助一些寻求类似问题的人。 其他解决方案包括卸载 Web Deploy 3.6 和安装 3.5。为我工作:***.com/questions/32004797/… 让我发笑的是,在花了一个小时左右逐字阅读所有 MS doc Web Deploy 安装文章和 Troubleshooting Web Deploy 文章之后,没有人提到那个简单的复选框 “启用远程连接”,您仍然必须这样做添加和删除程序修复。嗯。失败。【参考方案2】:

如果设置不正确,Web Deploy 会给您带来一大堆错误。 帮自己一个忙并使用 Web 平台安装程序 (https://www.microsoft.com/web/downloads/platform.aspx)。如果您已尝试安装 WebDeploy,则应先卸载它。从 WebPI 中选择:“Web Deploy 3.6 for Hosting Servers”。

【讨论】:

6 个月后遇到了同样的问题。只需阅读我自己的答案并安装“Web Deploy 3.6 for Hosting Servers”。一切都是第一次工作:) 这对我有用,我已经从 Web Platform Installer 安装了“Web Deploy 3.6”,关键是卸载它并安装“Web Deploy 3.6 for Hosting Servers”。马上工作,谢谢!【参考方案3】:

我遇到了同样的问题。谈论跳圈... 该解决方案需要设置用户和部署权限等。

    在收到 Cihan Yakar 预测的错误“未找到”后 上面,我不得不更改 webdeploy(对我来说,它需要重新下载搜索“WebDeploy_x64_en-US.msi”) 启用所有选项。 得到一个新的错误,总是好的,ERROR_USER_NOT_AUTHORIZED_FOR_CONTENTPATH。为此,我查看了网络部署错误(请参阅下面的链接)。

诊断 - 非管理员用户尝试执行 使用用户不参与的 Web 部署提供程序进行操作 目前已授权。解决方案 - 默认情况下,Web Deploy 2.0 设置, 创建允许的管理服务委派规则 非管理员使用此提供程序执行操作。它是 此提供程序所需的委派规则可能尚未 已正确设置。解决方法:从程序控制面板,运行 修复 Web Deploy 2.0。或者,创建委托规则 手动。

事实证明,我必须从“配置 Web 部署处理程序”(请参阅​​下面的链接)手动创建它,使用本指南来“配置 WMSVC 和 IIS 管理器权限”和“为 Web 部署用户创建委派规则”排序问题。

注意事项: 使用来自以下位置的“网络部署错误代码”进行诊断: http://www.iis.net/learn/publish/troubleshooting-web-deploy/web-deploy-error-codes 并最终使用“配置 Web 部署处理程序”中的流程进行配置: http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler

【讨论】:

在一篇文章中解决了所有问题,这很有帮助。还有另一种解决方法,我已经卸载了 Web 部署并与 IIS 一起重新安装:Web Platform Installer 的推荐配置。 我被你的 #2 卡住了。我一辈子都想不通。你不会碰巧记得任何“陷阱”吧?我一直在努力解决这个错误大约 6 个小时......在此期间我广泛使用了你的两个链接。我只是不知道我可能还缺少什么。【参考方案4】:

在我的情况下,在启用远程连接复选框之后,我需要重新安装 Web Deploy 以使其工作。

【讨论】:

以上是关于MsDeploy 正在返回 403 禁止的主要内容,如果未能解决你的问题,请参考以下文章

删除操作返回错误:出现意外错误(类型=禁止,状态=403)。禁止的

为啥我的代码返回 403 禁止访问

c# webclient返回403禁止

AWS S3 getSignedUrl() 返回 403 禁止错误

授权策略总是返回 403(禁止)-MVC/API

从 docker 容器执行时,SpringBoot RestTemplate 返回 403 禁止