如何在Windows Server 2016中安装没有IIS的SSL证书?

时间:2019-05-20 05:10:28

标签: ssl asp.net-core ssl-certificate windows-server-2016

我有一个基于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 server

Windows 10的

图像: Windows 10

2 个答案:

答案 0 :(得分:0)

步骤1:启用计算机中的IIS功能进行托管。然后转到管理工具> IIS管理器。

第2步:选择要启用ssl的网站。

第3步:在右侧的操作面板中,您将拥有“编辑”网站并选择绑定

步骤4:在网站绑定中(如果已定义),请单击“关闭”或

1。单击添加

2。选择https

  1. 在ssl证书中,选择证书

  2. 单击“确定”,然后关闭

第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..上的这一点上,您可能会找到解决问题的方法。