我正在使用msdeploy将网站代码推送到4个不同的服务器(测试和生产服务器)。在前3个工作正常,但第4个给我一个ERROR_CERTIFICATE_VALIDATION_FAILED错误。我正在使用-allowUntrusted选项。
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:iisApp="E:\workspace\testDeploy\outproject\_PublishedWebsites\<webfolder>" -dest:iisApp="mycompany.com",ComputerName="https://<hostip>:8172/MsDeploy.axd",UserName="<userid>",Password="****",AuthType="Basic" -allowUntrusted -enableRule:AppOffline -skip:objectName=filePath,absolutePath="^.*<webfolder>\\web.*\.config$|^.*mycompany\.com\\web.*\.config"
Error Code: ERROR_CERTIFICATE_VALIDATION_FAILED
More Infenter code hereormation: Connected to the remote computer ("<hostip>") using the specified process ("Web Management Service"), but could not verify the server's certificate. If you trust the server, connect again and allow untrusted certificates. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED.
Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Error: The remote certificate is invalid according to the validation procedure.
知道我缺少什么吗?
答案 0 :(得分:10)
将<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
添加到我的pubxml文件似乎最初解决了问题。
在几天后重新发布时,我得到了同样的错误。我进入Publish Settings
,重新输入密码,发布成功。
我现在认为我的初始问题是通过重新输入密码而不是添加<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
来解决的。
答案 1 :(得分:8)
-allowUntrusted对我不起作用。
我用过这个:
/p:AllowUntrustedCertificate=True
答案 2 :(得分:2)
嗯,最重要的是,问题在于目标系统上用户的密码。
我在另一篇帖子中看到有人在“-dest”条目之前移动了“-allowUntrusted”标志。我试过了,我开始收到一条ERROR_USER_UNAUTHORIZED消息。密码输入时一切正确,但它以'*'字符开头,并且还有一个单引号。我为没有使用这些特殊字符并在远程系统上更改它的用户生成了一个新密码。在那之后,一切都很好。
我能够运行初始帖子中显示的命令,没有任何错误。
因此,如果您收到ERROR_CERTIFICATE_VALIDATION_FAILED或ERROR_USER_UNAUTHORIZED并且所有内容都已正确设置,请尝试更改分配给目标系统上用户的密码。似乎有些密码不起作用。
答案 3 :(得分:2)
我通过进入发布设置,然后点击&#34;验证连接&#34;来修复此问题。在底部。然后这个错误就消失了。
答案 4 :(得分:1)
我注意到您使用了部署服务器的IP地址:
-dest:iisApp="mycompany.com",ComputerName="https://<hostip>:8172/MsDeploy.axd"
这导致了我的证书验证错误,因为已为域名而不是IP地址颁发了SSL证书。更改为域名而不是IP地址修复了它。
答案 5 :(得分:1)
添加此解决方案,因为其他解决方案都不适合我...
我必须添加以下行才能发布个人资料:
<UseMSDeployExe>True</UseMSDeployExe>
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
添加这些内容后,发布仍然失败。然后,我打开了发布配置文件设置,单击“验证连接”并保存。只有这样,发布才能成功。
答案 6 :(得分:1)
另一种潜在的解决方案-专门部署Web作业
我知道这是一篇老文章,但是在部署Azure Web Jobs时遇到了VS 2019的问题。以上都不对我有用。最终的工作是在更新发布配置文件后使用该工具重新进行身份验证。我解决问题的方法是右键单击解决方案,然后选择“发布为Azure Webjob ..”。即使在创建新的发布配置文件后,它仍然失败。然后,我添加了以下发布配置文件。
<_DestinationType>AzureWebSite</_DestinationType>
<UseMSDeployExe>True</UseMSDeployExe>
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
我尝试再次发布它,但失败了。然后,我通过单击下面显示的“编辑密码”链接来重新认证。
执行此操作时,将显示以下屏幕。单击“尝试从Azure检索凭据”链接。
从Azure检索凭据后,不要忘记单击底部的“保存”按钮。完成后,请返回并再次尝试发布。它应该可以正常工作。
注意::如果是第一次下拉/创建发布配置文件,请不要单击“发布配置文件”名称下的“编辑”按钮,并按如下所示验证连接。
如果这样做,它可能会从上面我的第一张图片中显示的发布工具的用户界面中删除用户名/密码。如果它消失了,则需要通过删除您的配置文件,创建一个新的配置文件并最终按照上述步骤来重新开始该过程。我不知道为什么会这样做,但是我注意到了。
答案 7 :(得分:0)
只想加我50美分和我的解决方案,这样可以帮助别人。 我做了什么你解决这个问题是使用远程桌面连接到主机 当被要求接受机器证书(输入登录和密码后)时,我在底部记下了这个。 希望这有帮助的人