у нас запущено приложение Dotnet Core 3.0, которое предоставляет веб-API через Kestrel. По умолчанию Kestrel установил доступные протоколы на Protocols.Http1AndHttp2
.
. На одном из наших тестовых компьютеров оказалось, что http / 2 не работает в сочетании с Google Chrome (77.0.3865.90). Браузер отображает сообщение об ошибке ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY
. Откат к http1 в этом случае не работает, потому что браузер поддерживает http / 2 в целом. Microsoft Edge, кстати. поддерживает запрос одной и той же конечной точки через http / 2.
Я проверил сертификат на моей машине разработки, и оказалось, что это работает, как ожидалось. Так что, похоже, проблема не в самом сертификате, а в сервере, на котором размещено приложение. Моя локальная машина работает под управлением Windows 10 Pro (1903). Сервер работает под управлением Windows Server 2012 R2 Datacenter (6.3.9600).
Приложение будет размещаться на серверах наших клиентов в виде автономного пакета, и мы не будем оказывать влияние на то, на каких серверах будет работать API.
Вместополностью отключив http / 2, мы бы хотели проверить, все ли браузеры примут предоставленный сертификат в сочетании с http / 2. Я не уверен, как это выяснить на стороне сервера. Нам кажется, что это какая-то проблема с предоставленными комплектами шифров, но я не знал, как проверить совместимость на стороне сервера.
У кого-нибудь есть идеи, как проверить совместимость?