首页 > 解决方案 > 在本地 IIS windows 10 上托管 ASP CORE 2.1

问题描述

我有一个用 c# 网站编写的 ASP CORE 2.1,它在 IIS express 中完美运行并托管在 azure 上。但是当我尝试自己在本地 IIS 上托管它或者只是从 IIS 中的 Visual Studio 运行它(不是 express)时,它不起作用。我得到这个站点无法访问 localhost 拒绝连接。已经敲了我的头两天了,我离得更近了。请帮忙。

要添加详细信息:

程序长这样(使用我今天添加的红隼)

 public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseKestrel()
            .UseIISIntegration()
            .Build();
}

像这样开始

  public class Startup
{
    public IConfiguration Configuration { get; set; }

    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
        services.AddIdentity<ApplicationUser, IdentityRole>(config => { config.SignIn.RequireConfirmedEmail = true; })
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();
        services.AddTransient<IEmailSender, EmailSender>();
        services.AddSingleton(_ => Configuration);
        services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
        services.AddMvc();
        services.Configure<AuthMessageSenderOptions>(Configuration);
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseBrowserLink();
            app.UseDeveloperExceptionPage();
            app.UseDatabaseErrorPage();

        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();

        app.UseAuthentication();
        app.UseHttpsRedirection();
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });


    }
}

像这样的IIS: 在此处输入图像描述

像这样的应用程序池: 在此处输入图像描述

认为它的安全相关。昨晚我创建并信任本地开发证书...不确定我做对了但它在那里...我是否必须以某种方式告诉我的网站专门寻找它?

正如我所说,IIS express 完美,Azure 完美,所以我不知道还能做什么。我在这里问,因为我很难过,不要偷懒。我已经安装了 IIS 软件,重新启动,安装了正确的运行时主机软件,重新启动。

另外,发现这是日志:

警告:Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50] 使用内存存储库。密钥不会被持久化到存储中。

警告:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[59] 用户配置文件和 HKLM 注册表都不可用。使用临时密钥存储库。应用程序退出时,受保护的数据将不可用。

警告:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] 未配置 XML 加密器。密钥 {cfc3f092-a4fc-4b5b-9a64-e7d35b02feff} 可以以未加密的形式保存到存储中。托管环境:生产内容根路径:D:\IIS\SALUSUAVWEBAPP 现在监听:http: //127.0.0.1 :6396 应用程序已启动。按 Ctrl+C 关闭。

警告:Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3] 无法确定重定向的 https 端口。

我现在正在调查这个......这是原因还是只是对不是我真正问题的事情的警告?

标签: c#asp.netiisasp.net-core

解决方案


好的,所以答案是绑定...我没有设置 https...文档没有显示这一点,并且由于缺乏这方面的经验,我没有考虑过...自己的错。无论如何...要去阅读有关https和证书的所有信息,因为那是我的下一个噩梦...我该如何解决,以便人们可以给我打电话...

在此处输入图像描述


推荐阅读