Сброс SSL-соединения с перезаписью - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть 64-битное windows приложение, которое размещает REST-сервер с использованием restbed, оно было построено с помощью Visual Studio 2015.

Когда я тестирую REST API с использованием сценариев python с отладочной сборкой, все работает нормально без каких-либо ошибок, однако, когда я тестирую ту же программу, используя сборку релиза, я случайно получаю исключения подключения к сокету в коде python. например,

Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\urllib3\contrib\pyopenssl.py", line 313, in recv_into
    return self.connection.recv_into(*args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\OpenSSL\SSL.py", line 1840, in recv_into
    self._raise_ssl_error(self._ssl, result)
  File "C:\Program Files\Python38\lib\site-packages\OpenSSL\SSL.py", line 1663, in _raise_ssl_error
    raise SysCallError(errno, errorcode.get(errno))
OpenSSL.SSL.SysCallError: (10054, 'WSAECONNRESET')

Я использую запросы V2.23.0 и pyOpenSSL V19.1.0. Мой сертификат самоподписан.

Есть предложения? Есть ли способ заставить restbed использовать tlsv1.2, чтобы я мог использовать wireshark, чтобы увидеть, что происходит?

1 Ответ

0 голосов
/ 22 апреля 2020

Проблема закончилась отсутствием связи с HTTPS или даже HTTP. Но из-за того, что данные остались на сокете, когда сессия была закрыта. Это привело к закрытию сокета с установленным флагом Reset вместо флага FIN. Была ошибка в обработке запросов на стороне сервера! Opps.

...