Хост ASP. NET Ядро на Linux с Nginx - сайт не доступен на локальной сети - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь получить доступ к ASP. net Core 3 Web API на Linux (в данном случае Raspberry Pi).

API отлично работает на локальном хосте, либо на моем ноутбук или пи при доступе к нему локально. Тем не менее, когда я пытаюсь получить доступ к плану в соответствии с ASP DOCS , он не работает.

Я получаю следующее, если получу do tnet приложение работает:

"Невозможно связаться с этим сайтом. 192.168.1.50 отказано в подключении. Попробуйте:

Проверка соединения Проверка прокси и брандмауэра ERR_CONNECTION_REFUSED" "

Если приложение do tnet не запущено и я пытаюсь добраться до сервера Nginx, я получаю следующее:

502 Bad Gateway

NGINX Кажется, что что-то делает, так как приложение запускает его на правильный порт 5001

My Program.cs:

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

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

My Startup.cs

  public class Startup
{

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

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
       var con = new ConnectionStrings();
       Configuration.Bind("ConnectionStrings", con);
       services.AddSingleton(con);
       services.AddControllers();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();

        app.UseRouting();

        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
        });


        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
}

Do tnet из Linux:

    dotnet Fan.dll 
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /home/pi/WebApp

Linux Nginx Состояние / конфигурация:

enter image description here enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...