繁体   English   中英

在本地 IIS windows 10 上托管 ASP CORE 2.1

[英]host ASP CORE 2.1 on local IIS windows 10

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

添加细节:

程序看起来像这样(使用我今天添加的 kestrel)

 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 表达完美,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} 可以以未加密的形式保存在存储中。 托管环境:Production 内容根路径:D:\\IIS\\SALUSUAVWEBAPP 现在监听: http : //127.0.0.1 :6396 应用启动。 按 Ctrl+C 关闭。

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

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

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM