首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msdeploy: allowuntrusted被忽略

msdeploy: allowuntrusted被忽略
EN

Stack Overflow用户
提问于 2013-05-13 19:22:24
回答 2查看 5.1K关注 0票数 3

我有一台机器A运行Win2008 R2的全新安装,它在IIS上拥有一个IIS应用程序。我尝试在计算机B上使用msdeploy命令行工具将部署包发布到此计算机,但我不断收到有关证书的错误。我正在使用-allowuntrusted,但它仍然不断地给出相同的错误。

我已经尝试了两天的不同的事情(比如更改IIS上的msdeploy端口,在另一台机器上安装证书,重新安装iis角色,还有很多其他的),但都没有成功。

下面是我运行的代码:

代码语言:javascript
复制
msdeploy.exe -verb:sync -source:package="Web.zip" -dest:auto,ComputerName="https://machineA:8173/msdeploy.axd?site=app.com",UserName="AdminUser",Password="SecurePassword",AuthType="Basic" -allowUntrusted

更有趣的是,这是我在包含IIS的机器上运行相同命令时得到的结果(即使在将dest更改为sync之后):

代码语言:javascript
复制
Error: A '-dest' argument must be specified with the 'sync' verb.
Error count: 1.

有什么想法吗?

编辑:我尝试在Visual Studio 2012中使用相同的设置(ip、包、身份验证)来创建部署的发布配置文件。点击“验证连接”后,我得到一个弹出窗口,询问我是否要接受这个不受信任的证书。我点击“是”,然后继续发布--一切都很顺利。

有没有办法通过msdeploy命令行来获得这种行为呢?使用VS2012对我来说不是一个选择,因为发布必须自动完成。

编辑2:乐趣还在继续:它可以在另一台Windows Server2008 R2目标机器上运行(尽管不是全新安装)。那么,神奇的复选框在哪里?:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-14 15:53:31

所以,我想出了两个解决方案:

  1. 获得一个有效的证书(我们公司有一个证书,所以在机器B上摆弄主机来匹配IP和公司的域是有帮助的)。
  2. 将"-allowUntrusted:true“放在"-dest”之前,而不是放在最后。不知道为什么它能在一台机器上工作,但在另一台机器上却不行。

希望这能帮助某人节省一些时间:)

票数 6
EN

Stack Overflow用户

发布于 2013-05-14 10:31:06

我发现这个命令有一些问题:

除非您更改了默认端口,否则应使用8172而不是8173。

其次,在securepassword之前有一个双引号,但我没有看到右双引号。

您的包很可能有一些默认参数,您必须在部署期间为这些参数指定值。

代码语言:javascript
复制
msdeploy.exe -verb:sync -source:package="Web.zip" -dest:auto,ComputerName=https://machineA:8172/msdeploy.axd?site=app.com,UserName="AdminUser",Password="SecurePassword",AuthType="Basic" -allowUntrusted -setParam:paramname=value
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16520855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档