Я использую: Erlang OTP 21 и Cowboy 2.4
Код:
cowboy:start_tls(
my_listener,
[
{port, Web_Server_Port},
{certfile, Cert_File},
{keyfile, Key_File}
],
#{env => #{dispatch => dispatcher()}}
)
Я использую это для запуска веб-сервера, который отлично работает на HTTP1.1, но теперь Chrome использует HTTP2, и это нельзя отключить.
Итак, теперь я получаю:
ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
Я также сталкиваюсь с подобной проблемой Firefox с включенным HTTP2:
Error code: NS_ERROR_NET_INADEQUATE_SECURITY
но в Firefox я могу отключить HTTP2. Это работает нормально, когда HTTP2 отключен.
Я подтвердил, что мой сертификат в порядке, и я получаю зеленую блокировку по HTTP1.1
Я читал, что HTTP2 более строг в отношении используемых шифров и порядка их появления.
Исправление ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY ошибки SSL в Chrome
https://www.jeffgeerling.com/blog/2016/fixing-errspdyinadequatetransportsecurity-ssl-error-chrome
Но не уверен, что это проблема.
Я не уверен, какие шифры использовать, также не совсем уверен, как указать их использование в ковбоях. Я попытался добавить опцию шифрования в опции, но это не решает проблему:
{ciphers, [
{ecdhe_ecdsa,aes_256_cbc,sha384,sha384},
{ecdhe_rsa,aes_256_cbc,sha384,sha384},
{ecdh_ecdsa,aes_256_cbc,sha384,sha384},
{ecdh_rsa,aes_256_cbc,sha384,sha384},
{dhe_rsa,aes_256_cbc,sha256},
{dhe_dss,aes_256_cbc,sha256},
{ecdhe_ecdsa,aes_256_cbc,sha},
{ecdhe_rsa,aes_256_cbc,sha},
{dhe_rsa,aes_256_cbc,sha},
{dhe_dss,aes_256_cbc,sha},
{ecdh_ecdsa,aes_256_cbc,sha},
{ecdh_rsa,aes_256_cbc,sha},
{ecdhe_rsa,aes_128_cbc,sha},
{dhe_rsa,aes_128_cbc,sha},
{dhe_dss,aes_128_cbc,sha},
{ecdh_ecdsa,aes_128_cbc,sha},
{ecdh_rsa,aes_128_cbc,sha}
]}
Любые предложения о том, что я здесь делаю не так?