我正在使用SSL构建和测试aspnet核心应用程序。在IIS Express中运行该站点工作正常。所以,我想我可能会看到在IIS 10上运行它需要什么。正如预期的那样,有一些问题。
首先,我需要澄清一下,我已成功在IIS中托管了一个非SSL aspnet应用程序,因此aspnet核心应用程序所需的所有位都在那里。但是对于SSL应用程序,我得到的只是浏览器中的一条消息,说明发生了错误。在网络服务器日志中也没什么用处。
所以,我的第一个测试是尝试使用dotnet xxx.dll直接在已发布的文件夹中运行应用程序。那是我注意到授权错误的时候。
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
});
答案 0 :(得分:1)
我通过生成pfx证书解决了这个问题,正如Shawn Wildermuth的博客(https://wildermuth.com/2016/10/26/Testing-SSL-in-ASP-NET-Core)所解释的那样。完成后,修改Program.cs文件,如下所示:
完成此操作后,重新发布项目(命令:dotnet publish)并将pfx文件移动到已发布的文件夹中。
现在,当您在已发布的文件夹中运行dotnet MyFileName.dll时,它可以访问证书并且一切正常。 (好吧,它对我有用)