Я пытаюсь опубликовать sh приложение в azure службе приложений, но проблема, которую я получаю, - это статус http 307, который предназначен для временного перенаправления. В моем файле startup.cs я уже настроил приложение на использование SSL-порта 443. Но после проверки логов я получаю.
2020-02-05 09:15:00.1616|INFO|Microsoft.AspNetCore.Hosting.Internal.WebHost|Request starting HTTP/1.1 GET http://appservicenameabc.azurewebsites.net/
2020-02-05 09:15:00.1778|WARN|Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware|Failed to determine the https port for redirect.
2020-02-05 09:15:00.4230|ERROR|Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware|An unhandled exception has occurred while executing the request.
2020-02-05 09:15:00.4403|ERROR|Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware|An exception was thrown attempting to execute the error handler.
2020-02-05 09:15:00.4554|ERROR|Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer|Connection ID "15996785878030621091", Request ID "800019a8-0000-de00-b63f-84710c7967bb": An unhandled exception was thrown by the application.
2020-02-05 09:15:00.5086|INFO|Microsoft.AspNetCore.Hosting.Internal.WebHost|Request finished in 347.65ms 500
Мой файл startup.cs выглядит следующим образом
public void ConfigureServices(IServiceCollection services)
{
//other code removed
services.AddHsts(options =>
{
options.Preload = true;
options.IncludeSubDomains = true;
options.MaxAge = TimeSpan.FromDays(60);
});
services.AddHttpsRedirection(options =>
{
options.HttpsPort=443;
options.RedirectStatusCode = StatusCodes.Status307TemporaryRedirect;
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// 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.UseHttpsRedirection();
}
Как указано в сообщении об ошибке, я добавил порт 443 в методе services.AddHttpsRedirection (). Я также попытался указать https_port в appsettings. json.
Редактировать : Когда я удалил аутентификацию Google, все работало нормально. Я также запускал проект в производственном режиме локально, там я вижу, что он не может найти CliendId для Google Auth. Но идентификатор присутствует в UserSecrets. Json
Вот код, который я прокомментировал. Google auth работает локально.
//services.AddAuthentication()
// .AddGoogle(googleOptions =>
// {
// googleOptions.ClientId = Configuration.GetSection("Google")["Authentication:Google:ClientId"];
// googleOptions.ClientSecret = Configuration.GetSection("Google")["Authentication:Google:ClientSecret"];
// });