DotNet, запущенный на другом порту, приводит к ненормальному завершению обработки запроса "Идентификатор соединения 'xxxx'" - PullRequest
0 голосов
/ 24 октября 2019

С уважением.

Я работал с приложением API в протоколах .net core 2.2 и cors, и все шло хорошо, пока я не изменил порт моего API со значения по умолчанию https://localhost:5001 на https://localhost:5002использование метода UseUrls для HostingAbstractionsWebHostBuilderExtensions https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.hosting.hostingabstractionswebhostbuilderextensions.useurls?view=aspnetcore-2.2

Отправка запросов в API curl https://localhost:5002/api/values все еще работает, это означает, что использование метода UseUrls приводит к тому, что валидация cors не может работать должным образом? Нужен ли дополнительный метод настройки?

Program.cs

namespace api {

  public class Program {

    public static void Main(string[] args) {
      CreateWebHostBuilder(args)
/*===>*/.UseUrls("https://localhost:5002", "http://localhost:5003")
        .Build()
        .Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
      WebHost.CreateDefaultBuilder(args).UseStartup<Startup>();
  }
}

Журнал консоли:

Now listening on: https://localhost:5002

Now listening on: http://localhost:5003

Application started. Press Ctrl+C to shut down.

info: Microsoft.AspNetCore.Server.Kestrel[20]

      Connection id "0HLQOL2OADVUQ" request processing ended abnormally.

System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: Error desconocido al procesar el certificado

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Я нашел проблему. На самом деле я тестировал с использованием Firefox, который очень серьезно относится к сертификатам https (https://support.mozilla.org/en-US/kb/what-does-your-connection-is-not-secure-mean) Каждый раз, когда я меняю порт моего API, я должен получить доступ к URL-адресу API из Firefox, чтобы разрешить его использование, в противном случае мой интерфейсприложение (которое использует axios) не будет работать без объяснения причин.

0 голосов
/ 24 октября 2019

System.IO.IOException: операция дешифрования не выполнена, см. Внутреннее исключение. ---> System.ComponentModel.Win32Exception: Ошибка desconocido al processar el attributeado

Это ошибка сертификата. Поскольку вы обращаетесь к нему через HTTPS и через другой порт.

Когда Kestrel или HTTP.sys используется в качестве общедоступного пограничного сервера, Kestrel или HTTP.sys должен быть настроен для прослушивания обоих:

  • Безопасный порт, где находится клиентперенаправляется (как правило, 443 в производстве и 5001 в разработке).

Вам необходимо добавить следующее в вашем Startup.cs

app.UseHttpsRedirection();

И в вашем appsettings.json

{
"https_port": 5002, // whatever you like to use
}

Подробнее info .

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