MsDeploy返回403禁止访问。

107
我们有一个在内网上运行的Web应用程序,现在我想使用Visual Studio 2010将其发布到互联网上。目标服务器正在运行iis7,Web管理服务也已经启动。

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

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

网站/应用程序为:

默认 Web 站点/WebApp

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

Visual Studio 返回以下错误:

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

无法联系远程代理 (URL https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd?site=Default Web Site)。请确保目标计算机上已安装并启动远程代理服务。收到了一个不支持的响应。响应头 'MSDeploy.Response' 为空,但期望是 'v1'。 远程服务器返回错误: (403) Forbidden.

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

4个回答

266

如果您进入IIS,
在“连接”列表中点击服务器节点,
双击“管理服务”,然后您将跳转到一个屏幕,其中有一个“启用远程连接”复选框。
这个复选框(以及其余部分)可能会变灰,因为该服务正在运行。只需单击操作窗格中的“停止”链接,然后选中此处要更改的“启用远程连接”复选框和其他设置,然后再次单击操作窗格上的“应用”和“启动”。

这样做可以让您使用正确的凭据从远程计算机连接到服务。(如果正确打开端口等等。)

我认为这能帮助您解决问题。 至少您不会收到403错误,但您可能会遇到其他MsDeploy错误。


4
我有同样的问题。我认为我的配置文件可能因为在进行配置更改时发生硬重启而损坏了。我尝试了以下步骤,但并没有改变任何东西。(将身份验证更改为仅限于Windows,点击应用,然后再改回Windows + ISS Mgr)。这对我有用。 - Kasey Speakman
106
下一个错误将会是 找不到。为了修复它,你需要进入"添加或删除程序",找到你的"Web Deploy",点击"更改",然后安装所有功能。 - Cihan Yakar
2
我在Window Server 2012 R2和Web Deploy 3.6上遇到了相同的错误。问题是webdeploy一开始并没有完全安装,它要求重新启动计算机。所以,当我重启服务器并再次启动WPI时,安装继续进行并且一切正常工作。但是,重新启动后WPI无法启动,所以我不得不手动启动它。希望这对于一些寻找类似问题的人有所帮助。 - vendettamit
4
其他解决方案包括卸载Web Deploy 3.6并安装3.5版本。这对我有效: https://dev59.com/1lwY5IYBdhLWcg3w9r3a - Derrick
7
让我发笑的是,花了大约一个小时遵循所有MS文档的Web Deploy安装文章和故障排除文章,逐字逐句地阅读,但它们都没有提到简单的复选框“启用远程连接”,你仍然需要执行“添加或删除程序”修复。真是摇头。失败。 - frezq
显示剩余7条评论

9

如果没有正确设置,Web Deploy 可能会出现许多错误。请自己做个好人,使用 Web Platform Installer (https://www.microsoft.com/web/downloads/platform.aspx)。如果您已经尝试安装它,请先卸载 WebDeploy。从 WebPI 中选择:"Web Deploy 3.6 for Hosting Servers"。


6
6个月后遇到了同样的问题。看了一下我的答案,安装了“Web Deploy 3.6 for Hosting Servers”。一切都一次性地运作正常:) - Lee Gunn
2
这对我有用,我已经从Web平台安装程序安装了“Web Deploy 3.6”,关键是卸载它并安装“面向托管服务器的Web Deploy 3.6”代替。立即生效,谢谢! - orangecaterpillar

2
我遇到了同样的问题。谈论跳跃环节... 解决方案需要设置用户和部署权限等。
  1. 在像Cihan Yakar一样收到“NOT FOUND”错误后,我不得不更改webdeploy(对我来说,它需要重新下载搜索“WebDeploy_x64_en-US.msi”),启用所有选项。
  2. 出现了一个新错误,总是好的,“ERROR_USER_NOT_AUTHORIZED_FOR_CONTENTPATH”。对此,我查看了Web Deploy错误(有关链接请参见下文)。

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

事实证明,我必须从“配置Web部署处理程序”手动创建它(有关链接请参见下文),使用此指南“配置WMSVC和IIS Manager权限”和“为Web Deploy用户创建委派规则”解决了问题。

备注: 使用“Web Deploy错误代码”进行诊断: 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


3
在一个帖子中解决了所有问题的序列,这很有帮助。此外,还有另一种解决方法,我已经卸载了Web Deploy并重新安装了与IIS推荐配置相匹配的Web平台安装程序。 - hakuna
我卡在你的第二个问题上了,但是我怎么也想不出来。你有没有什么“坑点”需要注意的?我已经花了大约6个小时来解决这个错误了...期间我广泛使用了你提供的两个链接,但我还是不知道可能还缺少什么。 - Napoli

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接