我有一个基于asp.net核心MVC的项目;我想使用SSL证书来使用https,但是在运行项目时,它没有显示https地址。我无法在Windows服务器中使用IIS。但是在Windows 10中,一切正常。
我正在尝试在Windows服务器中安装SSL证书,以便在项目中使用https。
public static IWebHost BuildWebHost(string[] args)
{
var host = "0.0.0.0";
var http_port = 40000;
var https_port = 40001;
if (args.Length > 0) host = args[0].Trim();
if (args.Length > 1) http_port = Convert.ToInt32(args[1].Trim());
if (args.Length > 2) https_port = Convert.ToInt32(args[2].Trim());
return
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
//
.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = null;
options.Limits.MaxRequestBufferSize = null;
options.Limits.MaxRequestHeaderCount = 1000;
options.Limits.MaxRequestHeadersTotalSize = 256 * 1024;
options.Listen(IPAddress.Parse(host), http_port);
using (var store = new X509Store(StoreName.My))
{
store.Open(OpenFlags.ReadOnly);
var certs = store.Certificates.Find(X509FindType.FindBySubjectName, "localhost", false);
if (certs.Count > 0)
{
var certificate = certs[0];
options.Listen(IPAddress.Parse(host), https_port, listenOptions =>
{
listenOptions.UseHttps(certificate);
});
}
}
}).Build();
}
我希望输出看到https://0.0.0.0:40001,但是在Windows服务器中我只有http://0.0.0.0:40000。
Windows服务器的 Windows 10的图像: Windows 10
答案 0 :(得分:0)
步骤1:启用计算机中的IIS功能进行托管。然后转到管理工具> IIS管理器。
第2步:选择要启用ssl的网站。
第3步:在右侧的操作面板中,您将拥有“编辑”网站并选择绑定
步骤4:在网站绑定中(如果已定义),请单击“关闭”或
1。单击添加
2。选择https
在ssl证书中,选择证书
单击“确定”,然后关闭
第5步:在连接面板中的站点下>再次单击站点以显示所选的网站主页。
步骤6:在所选网站中,点击SSL设置
步骤7:在ssl设置中,选择require ssl,然后在客户端证书下选择accept。
第8步:申请
答案 1 :(得分:0)
如果我理解正确,那么您在开发环境中使用SSL会遇到困难。我建议您在这里Enforce HTTPS in ASP.NET CORE。在页面Trust the ASP.NET Core Development Certificates..上的这一点上,您可能会找到解决问题的方法。