- From: Lucas Pardue <lucaspardue.24.7@gmail.com>
- Date: Mon, 8 Jun 2026 11:40:35 +0100
- To: Egor Gudzenko <egor@egl.sh>
- Cc: Lucas Pardue <lucas@lucaspardue.com>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CALGR9obM1GXjrmuidi-_zUuVcszy3NE5TMFeKoCirwOYBuoDOA@mail.gmail.com>
Hi , Lets pick at your nginx example since I'm most familiar that implementation. On Mon, 8 Jun 2026, 00:13 Egor Gudzenko, <egor@egl.sh> wrote: > > > **General-purpose web servers.** nginx's documented default is ssl_ciphers > HIGH:!aNULL:!MD5. [5] > > > [5] Configuring HTTPS servers. nginx documentation. > https://nginx.org/en/docs/http/configuring_https_servers.html This is using the wrong documentation to support the point. Nginx's docs for HTTP/2 provide an example config [1] with the following supporting text > Note that accepting HTTP/2 connections over TLS requires the “Application-Layer Protocol Negotiation” (ALPN) TLS extension support, which is available since OpenSSL <http://www.openssl.org> version 1.0.2. > Also note that if the ssl_prefer_server_ciphers <https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_prefer_server_ciphers> directive is set to the value “on”, the ciphers <https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_ciphers> should be configured to comply with RFC 9113, Appendix A <https://datatracker.ietf.org/doc/html/rfc9113#appendix-A> black list and supported by clients. Switching to node.js, the wall of text claims CBC ciphers are explicitly included in the documentation, which does appear to actually be the case [2]: node -p crypto.constants.defaultCoreCipherList | tr ':' '\n' TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-GCM-SHA384 DHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 DHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 DHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA256 DHE-RSA-AES256-SHA256 HIGH !aNULL !eNULL !EXPORT !DES !RC4 !MD5 !PSK !SRP !CAMELLIA While "HIGH" implicitly includes CBC, the ciphersuite ordering there prefers other RFC 9113 compatible ciphers. Based on these two examples I don't think there's value in another IETF document that tries to do anything in this space. Configuring cipher preferences is already an annoying aspect of software deployment, I can't see there being much interest in trying to make the cipher list configuration grammar more complex to factor in ALPN. Nor can I see crypto libs being much interested in changes in this space. At the end of the day, if there are implementations that ship default support for HTTP/2, with poor defaults for HTTP/2, then the best course of action is likely to be to open an issue against them. Cheers Lucas [1] https://nginx.org/en/docs/http/ngx_http_v2_module.html#example [2] https://nodejs.org/api/tls.html#modifying-the-default-tls-cipher-suite
Received on Monday, 8 June 2026 10:40:53 UTC