Рест-сервер Grapevine недоступен с использованием HTTPS

Когда я устанавливаю для свойства useHttps значение true, я не могу подключиться к серверу.

Инстанцирование сервера выглядит так:

class Listener
{
    RestServer server;
    public Listener()
    {
        server = new RestServer();

        server.Port = "8137";
        server.UseHttps = true;
    }
}

Сервер запускается, и ввод в консоль сообщает мне, что он прослушивает https://localhost:8137, но когда я пытаюсь и сделать запрос (в Fiddler), я получаю сообщение об ошибке: 502 Fiddler - Ошибка подключения.

The connection to 'localhost' failed. 
System.Security.SecurityException Failed to negotiate HTTPS connection with server.fiddler.network.https> HTTPS handshake to localhost (for #38) failed. System.IO.IOException Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. < An existing connection was forcibly closed by the remote host 

Для меня это похоже на проблему с HTTPS и, возможно, с сертификатом. Но где я могу указать сертификат?


person RasmusG    schedule 20.03.2017    source источник


Ответы (1)


Grapevine построен на основе класса .NET HttpListener. То, что у вас уже есть в исходном сообщении, достаточно с точки зрения кода. Однако для того, чтобы это заработало, нужно сделать еще кое-что на машине, на которой работает сервер.

  • См. документацию HttpListener, особенно примечания внизу страницы.

  • Существует отличная запись на StackOverflow для включения поддержки https для локального хоста.

  • Если вы столкнетесь с проблемами, подобными этой, я бы посоветовал поискать в StackOverflow, так как проблема не имеет ничего общего с Grapevine, и все, что связано с настройкой сертификата.

person Scott Offen    schedule 21.03.2017
comment
Да, я действительно понял это позже. Проблема заключалась в том, что мне нужно было указать Windows использовать сертификат для связи на данном порту. В этом сообщении есть подробности: stackoverflow.com/a/11457719/943170 - person RasmusG; 29.03.2017