.net 从Visual Studio 2015发布-允许不受信任的证书
我将从Visual Studio 2015发布我的ASP.NET 5 MVC6项目。我已从服务器导入发布配置文件。连接验证成功,但发布项目时出现以下错误: 错误\u证书\u验证\u失败 使用指定的端口连接到远程计算机(“XXXXXXXXX”) 进程(“Web管理服务”),但无法验证服务器的 证明书如果您信任服务器,请再次连接并允许 不受信任的证书.net 从Visual Studio 2015发布-允许不受信任的证书,.net,ssl,visual-studio-2015,publish,asp.net-core,.net,Ssl,Visual Studio 2015,Publish,Asp.net Core,我将从Visual Studio 2015发布我的ASP.NET 5 MVC6项目。我已从服务器导入发布配置文件。连接验证成功,但发布项目时出现以下错误: 错误\u证书\u验证\u失败 使用指定的端口连接到远程计算机(“XXXXXXXXX”) 进程(“Web管理服务”),但无法验证服务器的 证明书如果您信任服务器,请再次连接并允许 不受信任的证书 发布设置中没有允许不受信任证书的选项 当前工具中尚不支持允许不受信任证书的选项。希望很快就能更新。但是,您可以手动设置它 在文本编辑器中打开/Prop
发布设置中没有允许不受信任证书的选项 当前工具中尚不支持允许不受信任证书的选项。希望很快就能更新。但是,您可以手动设置它
.pubxml
)
元素中,将AllowUntrustedCertificate设置为True(.ps1
文件中的)
作为旁注,您还可以通过在本地“信任”服务器的证书来绕过此问题。对于dot net core 1.0,您必须添加标记
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
True
在.pubxml文件中发布配置文件的步骤更新
请注意,当在VS2015或VS2017社区上部署.net核心应用程序到远程IIS服务器时,请使用以下命令
<UsePowerShell>True</UsePowerShell>
True
不是
False
发现部署已成功完成,但在我将标记更改为true之前,未将任何文件复制到服务器
我希望这对某人有所帮助。对我来说,解决方案在发布配置文件xml中占用了4行
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
<UseMsDeployExe>true</UseMsDeployExe>
<UserName>myuser</UserName>
<Password>mypass</Password>
True
真的
我的用户
我的通行证
UseMsDeployExe
将错误更改为忽略证书,但不验证用户,因此需要用户和密码(部署到的机器)
powershell脚本中不需要任何更改。我有True
,但它仍因证书错误而失败
- 我在“设置”对话框中重新输入了密码,但仍然失败
- 单击“验证连接”后,它开始工作
注意
- VS 2017(15.2)
- 我的密码最近更改了
- 作为测试,输入了错误的密码,我得到了证书错误,因此证书错误显然不仅仅是关于不可信的证书
另一种解决方案
我在远程IIS上创建了发布设置,并在Visual Studio 2017(15.2)中导入了它们。
之后,我更改了URL以指定sitename,因为IIS用户只能访问特定站点(感谢answer on SO)。
我已通过用户界面输入凭据,无需在配置文件中存储密码
我的个人资料看起来像:
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://some.site.com:443/</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishFramework>netcoreapp1.1</PublishFramework>
<ProjectGuid>eecf975e-f2e6-440f-bfd6-a0a63c25e3c3</ProjectGuid>
<MSDeployServiceURL>https://url.toourserver.com:8172/msdeploy.axd?site=some.site.com</MSDeployServiceURL>
<DeployIisAppPath>some.site.com</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName>IISUserName</UserName>
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
<_SavePWD>True</_SavePWD>
MSDeploy
释放
任何CPU
https://some.site.com:443/
真的
假的
netcoreapp1.1
eecf975e-f2e6-440f-bfd6-a0a63c25e3c3
https://url.toourserver.com:8172/msdeploy.axd?site=some.site.com
some.site.com
真的
WMSVC
真的
伊苏尔纳姆
真的
真的
由于自签名证书在我的计算机上不受信任,因此需要
使用此配置文件,将根据IIS中的设置进行备份,此过程完成后,网站将更新并在我的浏览器中打开:-)
虽然这里的所有其他答案也使它起到了作用,但我认为以这种方式分享它会很好,因为它只涉及一些更改(AllowUntrustedCertificate),并且不存储普通密码。导入或创建配置文件后,单击“配置”,然后验证连接。输入密码并完成设置。现在部署。另一个解决方案
我在VS2019中部署Azure Web作业时遇到了同样的问题。查看我的答案了解更多详细信息。对于VS 2019中的dotnet 3.1.0,只需进入“编辑”配置文件->验证连接->接受证书并完成即可。谢谢您,先生。它解决了我原来的问题,但现在我有另一个错误:error\u USER\u UNAUTHORIZED。Web部署任务失败。(已使用Web管理服务连接到远程计算机(XXXX),但无法授权。)凭据是正确的,我相信这是权限问题。你能给我一些关于如何解决新错误的见解吗?用户是服务器的管理员吗?是的。用户是服务器的管理员。我担心变量太多,很难将其缩小到特定的范围。通常,如果用户是管理员,“它很有效”。我建议你再问一个问题。尽可能多地提供详细信息,也许有更熟悉该错误的人可以插话帮助你。检查一下。向下滚动到底部,确保你不会错过“常见问题疑难解答”部分。你能链接到一些关于“信任”的信息吗"本地服务器?这里似乎有一个矛盾。你说首先要将标志设置为true,然后说除非标志为false,否则不会复制任何内容。你能澄清一下吗?感谢@paqogomez的观察。请使用true。我评论中的最后一句话是一个拼写错误。再次感谢这是我在数千年后使用的版本搜索并尝试。在VS 2017.2中,这是唯一对我有效的方法。在使用这一有效方法后,我找到了一种不将密码以明文形式存储在配置文件xml中的方法,请参阅:使用web api 2。无需在profile.xml中存储密码。UseMsDeployExe是密钥。我更喜欢在发布时在窗口提示中键入它。Thanks。我在这个问题上花了几天时间,这是我找到的唯一解决问题的方法。只是来发布相同的解决方案。打开“发布设置”对话框,单击“验证连接”重新验证连接,重新保存配置文件,然后再次单击“部署”-这使我每次都能通过证书颁发,但我没有
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://some.site.com:443/</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<PublishFramework>netcoreapp1.1</PublishFramework>
<ProjectGuid>eecf975e-f2e6-440f-bfd6-a0a63c25e3c3</ProjectGuid>
<MSDeployServiceURL>https://url.toourserver.com:8172/msdeploy.axd?site=some.site.com</MSDeployServiceURL>
<DeployIisAppPath>some.site.com</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName>IISUserName</UserName>
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
<_SavePWD>True</_SavePWD>