Los desarrolladores generalmente quieren crear aplicações e infraestructura utilizando bibliotecas publicadas, oficiales y compatibles. Incluso con HTTP/3, existe una fuerte necesidad de una biblioteca conveniente que admita QUIC y no aumente los costos de mantenimiento ni la complejidad operativa en la infraestructura de producción.
Para muchos usuarios de QUIC+HTTP/3 , esa biblioteca criptográfica predeterminada es OpenSSL . Instalado de forma predeterminada en la mayoría de los sistemas operativos basados en Linux, OpenSSL es la biblioteca de seguridad de la capa de transporte (TLS) número uno y es utilizada por la mayoría de las aplicações de red.
Incluso con un uso tan amplio, OpenSSL no proporciona la API TLS necesaria para la compatibilidad con QUIC. En lugar de ello, el Comité de Gestión de OpenSSL decidió implementar una pila QUIC completa por su cuenta. Este esfuerzo es un esfuerzo considerable planificado para OpenSSL v3.4 pero, según la hoja de ruta de OpenSSL , es probable que no suceda antes de fines de 2024. Además, el producto mínimo viable inicial de la implementación de OpenSSL no contendrá la implementación de la API QUIC, por lo que no hay un camino claro para que los usuarios obtengan soporte HTTP/3 con OpenSSL.
En esta situación, hay dos opciones para los usuarios que buscan compatibilidad con QUIC TLS para sus necesidades HTTP/3:
En NGINX, nos sentimos inspirados por estos desafíos y creamos la capa de compatibilidad OpenSSL para simplificar las implementaciones QUIC+HTTP/3 que usan OpenSSL y ayudar a evitar las complejidades asociadas con el mantenimiento de una biblioteca SSL separada en entornos de producción.
Disponible con la línea principal de código abierto NGINX desde la versión 1.25.0 y NGINX Plus R30 , la capa de compatibilidad OpenSSL permite a NGINX ejecutar QUIC+HTTP/3 sobre OpenSSL sin necesidad de parchearlo o reconstruirlo. Esto elimina la dependencia de compilar e implementar bibliotecas TLS de terceros para obtener soporte QUIC. Como los usuarios no necesitan utilizar bibliotecas de terceros, también se alivia la dependencia de los cronogramas y las hojas de ruta de esas bibliotecas, lo que la convierte en una solución comparativamente más fácil de implementar en producción.
La capa de compatibilidad de OpenSSL implementa estos pasos:
Teniendo en cuenta la cantidad de adopción de OpenSSL en la actualidad y conociendo su estado con el soporte oficial de QUIC+HTTP/3, creemos que una opción fácil y escalable para habilitar QUIC es un paso en la dirección correcta. También promoverá la adopción de HTTP/3 y permitirá recibir comentarios valiosos. Lo más importante es que confiamos en que la capa de compatibilidad de OpenSSL nos ayudará a proporcionar una solución más sólida y escalable para nuestros usuarios empresariales y toda la comunidad NGINX.
Nota : Si bien nos aseguramos de que los usuarios de NGINX tengan una opción sencilla y escalable gracias a la disponibilidad de la Capa de Compatibilidad de OpenSSL, aún tienen opciones para usar bibliotecas de terceros como BoringSSL, quicTLS o LibreSSL con NGINX. Para decidir cuál es la opción más adecuada para usted, considere qué enfoque se adapta mejor a sus necesidades y qué tan cómodo se siente compilando y administrando bibliotecas como dependencias.
0-RTT es una característica de QUIC que permite a un cliente enviar datos de la aplicação antes de que se complete el protocolo de enlace TLS. La funcionalidad 0-RTT es posible gracias a la reutilización de parámetros negociados de una conexión anterior. Esto se habilita cuando el cliente recuerda parámetros críticos y proporciona al servidor un ticket de sesión TLS que le permite recuperar la misma información.
Si bien esta característica es una parte importante de QUIC, aún no es compatible con la capa de compatibilidad de OpenSSL. Si tiene casos de uso específicos que requieren 0-RTT, agradecemos sus comentarios para informar nuestra hoja de ruta.
Puede comenzar a utilizar la capa de compatibilidad OpenSSL de NGINX hoy mismo con NGINX Open Source o iniciando una prueba gratuita de 30 días de NGINX Plus . Esperamos que le resulte útil y agradecemos sus comentarios.
Más información sobre NGINX con QUIC+HTTP/3 y OpenSSL está disponible en los recursos a continuación.
"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.