从 Windows 8 到安装并运行 Web 管理服务的 Windows Server 2012 (IIS 8),我可以使用 W8 框上的 IIS 管理器来管理远程服务器,但是当我执行以下命令时,我会从 WMSvc 获得 404.7:
msdeploy.exe" -verb:dump -source:contentPath=c:\InetPub\wwwroot,computerName=https://uktnws01:8172/MsDeploy.axd,userName=corp\administrator,password=WMSvcIsCrap,authType=Basic -allowUntrusted
我尝试了各种组合和参数。我可以远程登录到那个端口,我知道它是开放的。
我只是从 Windows 中删除管理服务功能并重新启动。我会给自己倒一杯苏格兰威士忌,然后做点零食。同时,如果您有任何想法,请分享。
在下面加入我的实时博客并关注行动。
更新 1
删除管理服务后,我现在得到
错误:无法连接到远程服务器错误:无法建立连接,因为目标机器主动拒绝它 192.168.2.22:8172 错误计数:1。
第二行是一条新消息!呜呼。
更新 2
好的,所以现在事情变得越来越糟。重新安装后,远程 IIS 控制台会在证书上发出警报,然后说,
服务器不接受远程连接。
但我认为这是因为我可能没有重新启用远程管理,除了安装该死的东西。
更新 3
启用远程管理后,远程 IIS 再次工作,但 404 已返回。只是为了 SEO 的利益,这里是完整的错误:
Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("uktnws01"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started. Learn more at http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Error: The remote server returned an error: (404) Not Found.
Error count: 1.
更新 4
尝试通过 VPN 到客户端对另一个 Web 服务器执行相同的命令,这很有效!看起来 IIS 在我的 2012 年新版本中受到了极大的影响。
更新 5
我为 WMSvc 启用了失败的请求跟踪,并看到 404.7 来自 RequestFilteringModule 模块。根据文档,404.7 是“文件扩展名被拒绝”。
http://www.iis.net/configreference/system.webserver/security/requestfiltering
但是,为 .axd 文件添加显式服务器规则并没有帮助。看到这个模块很有趣,因为它对 URL 长度和内容大小施加了限制。您能想象在 IIS 托管的 WCF 应用程序中解决此问题!哈哈。我真的在哭。
更新 6
我正在删除请求过滤,这意味着还要删除 ASP.NET 和其他各种东西。他们需要一键重新安装 Windows 功能和依赖项,因为我们编写了不可靠的软件选项。
更新 7
我重新安装了所有东西,然后一些名叫 Richard 的澳大利亚人突然出现并完全解释说,Web Deploy 实际上并不是 WMSvc 标准的一部分,即使在 IIS 8 上也是如此,我需要安装 Web Deploy。
所以我愿意。然后我禁用了它安装的另一部分 MsDepSvc(我认为它是整个 Web 部署),因为它占用了端口 80 并阻止负载平衡器看到已关闭的 IIS 服务。
它有效。我可以去睡觉了。