Visual Studio 2017 Web 部署失败
Posted
技术标签:
【中文标题】Visual Studio 2017 Web 部署失败【英文标题】:Visual Studio 2017 Web Deploy Fails 【发布时间】:2017-03-21 00:39:48 【问题描述】:在尝试部署 .net 核心 Web 应用程序时,我在下面收到此错误。我的托管公司告诉我他们下载了 VS 2017 并使用相同的发布配置文件成功部署。我能确定的唯一区别是他们看到了证书警告并且能够接受不受信任的证书。该域确实通过 LetsEncrypt 设置了 SSL 证书。我确实尝试在设置之前进行部署。也许它丢失的缓存在应用程序中?
底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。
ERROR_CERTIFICATE_VALIDATION_FAILED
【问题讨论】:
【参考方案1】:即使您的网站可能安装了 LetsEncrypt 证书,您也需要在 IIS 管理服务上安装有效的证书,Web Deploy 才能正常工作。
您可以将发布配置文件设置为 AllowUntrustedCertificate 为 true 以忽略该问题: SO: allow untrusted certificates
如果您确实想使用您的 LetsEncrypt 证书,我就是这样做的(说明可能因您的 IIS 版本而异):
-
打开 MMC(Windows 按钮 + X -> 运行 -> 键入 MMC 并按 Enter
从 MMC 菜单栏中选择文件 -> 添加或删除管理单元
选择证书,然后单击添加 >
选择计算机账户,点击下一步
选择本地计算机,单击完成,然后单击确定
将证书树扩展到虚拟主机 -> 证书
您现在将看到安装在服务器上的 LetsEncrypt 证书列表,右键单击要用于 Web 部署的证书并选择复制
现在在 MMC 的证书树中展开个人 -> 证书并右键单击并选择粘贴 打开IIS管理,点击服务器节点,打开管理下的管理服务: 单击右侧操作窗格中的停止以启用对服务的更改 使用 SSL 证书下的下拉菜单,您现在应该会看到您在第 8 步中粘贴的 LetsEncrypt 证书,选择它。 单击右侧操作窗格中的应用,然后单击开始 要测试证书现在是否正常工作,请打开您的网络浏览器并导航到 https:yourdomainname:8172/msdeploy.axd 现在应该要求您提供登录凭据,而不是 SSL 错误。取消登录并继续尝试使用 Web Deploy 发布。【讨论】:
我知道这是一个老问题,您需要访问服务器,但在寻找此问题的答案时,它出现在我的谷歌搜索的第一页。此外,您可能需要在证书到期时每三个月复制和粘贴一次证书。我想知道是否有更简单的方法可以做到这一点?以上是关于Visual Studio 2017 Web 部署失败的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms Visual Studio 2017 项目未部署
远程部署/调试 Visual Studio 2017 .NET Core