Недавно я пытался разработать простой 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.