Asp.Net Core 2.0 HTTP -> HTTPS на Kestrel - PullRequest
0 голосов
/ 24 мая 2019

Я изучаю веб-программирование и в настоящее время решил работать на Asp.Net Core 2.0. Я успешно создал веб-приложение с 2 уровнями Controllers Home и API. Домашний контроллер напрямую взаимодействует с моими представлениями, в то время как API-контроллер вызывается с помощью GetAsync, PostAsync, PutAsync и т. Д. С моего домашнего контроллера. Недавно я решил переместить это приложение в HTTPS. Узнал о самозаверяющих сертификатах и ​​успешно запустил их, за исключением того, что мой API стал недоступен.

С отключенным SSL я все еще могу вызывать свой API с помощью Почтальона.

Раньше я вызывал свой API, используя этот URI: http://localhost:5667/api/WebApi.

  var response = client.GetAsync(“SomeApi”)
    response.Wait();

Теперь я попытался использовать URI: https://localhost:5667/api/WebApi, но разрывается на response.Wait().

Любой совет, пожалуйста. Заранее спасибо

По запросу: вот часть моего Startup.cs

services.AddMvc(
   options =>
   {
       options.SslPort=5667;
       options.Filters.Add(new RequireHttpsAttribute());
    }
 );

 services.AddAntiforgery(
  options => 
  {
        options.Cookie.Name=“_af”;
        options.Cookie.HttpOnly = true;
        options.Cookie.SecurePolicy=CookieSecurePolicy.Always;
        options.HeaderName=“X-XSRF-TOKEN”;
     }
   )

1 Ответ

1 голос
/ 24 мая 2019

HTTP и HTTPS не могут обслуживаться через один и тот же порт.Если ваша локальная конечная точка HTTP-хоста находится на 5667, то, скорее всего, ваша конечная точка HTTPS находится на 5668 - хотя вы можете сами проверить номер порта в информации о том, что Kestrel будет входить в систему при запуске.

В работе HTTP обычно обслуживаетсячерез порт 80, в то время как HTTPS обслуживается через порт 443. Это значения по умолчанию, если вы не укажете иное.

Отдельно вы можете рассмотреть возможность включения HTTPS перенаправления в вашем Configure блок:

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