Запуск .net Core API на сервере Linux - PullRequest
0 голосов
/ 27 февраля 2019

Недавно я пытался разработать простой API, который будет принимать объекты HTTP и сохранять их в базе данных.Одно из ограничений проекта, над которым я работаю, заключается в том, что все это должно выполняться на сервере Ubuntu.

Я использую .net Core 2.2, и у меня есть пара готовых моделей и контроллерови работать локально (протестировано с Postman), и для целей тестирования я использовал опцию «в памяти базы данных».Моя проблема в том, что я следовал приведенным здесь инструкциям: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.2 Я все еще не могу получить доступ к базе данных с помощью http-запросов.Можно ли запустить API для хранения содержимого http-запроса в Ubuntu таким образом?У меня отлично установлена ​​netcore на сервере, и Nginx, кажется, настроен хорошо - API работает, но не позволяет вводить / получать доступ даже к жестко закодированным записям базы данных (например, «Значения» по умолчанию) через «server_ip / api / values ​​"и т. д.

Вот как выглядит мой метод ConfigureServices:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<SurveyContext>(opt =>
            opt.UseInMemoryDatabase("Survey DB"));


            services.AddMvc().SetCompatibilityVersion
            (CompatibilityVersion.Version_2_2);
        } 

И метод Configure по умолчанию выглядит следующим образом:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }
            app.UseForwardedHeaders(new ForwardedHeadersOptions
            {
                ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
            });

            app.UseAuthentication();

            app.UseHttpsRedirection();
            app.UseMvc();
        } 

Iпонять, что ForwardedHeaders должен использоваться - хотя я не уверен, что это правильная реализация.

Буду признателен за любые исправления / советы!

Редактировать: Не уверен, что это актуально, но в конечном итоге http-запросы будут исходить из приложения Xamarin на Android.

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