NGINX y NGINX Plus ofrecen una serie de funciones que les permiten satisfacer la mayoría de los requisitos de SSL/TLS. Utilizan OpenSSL y la potencia de los procesadores estándar para ofrecer un rendimiento SSL/TLS rentable. A medida que aumenta la potencia de los procesadores estándar y los fabricantes de chips incorporan compatibilidad con la aceleración criptográfica, también sigue creciendo la ventaja económica de utilizar procesadores estándar frente a chips SSL/TLS especializados.

Hay tres casos de uso principales de NGINX y NGINX Plus con SSL/TLS.
Descarga de SSL/TLS
Cuando NGINX se utiliza como proxy, puede descargar a los servidores backend del procesamiento de descifrado SSL. Realizar el descifrado en el proxy ofrece varias ventajas:
- Rendimiento mejorado – El mayor impacto en el rendimiento al realizar el descifrado SSL se produce durante el protocolo de enlace inicial. Para mejorar el rendimiento, el servidor que realiza el descifrado almacena en caché los identificadores de sesión SSL y gestiona los tickets de sesión TLS. Si esto se hace en el proxy, todas las solicitudes del mismo cliente pueden utilizar los valores almacenados en caché. Si se hace en los servidores backend, cada vez que las solicitudes del cliente se dirigen a un servidor diferente, el cliente tiene que volver a autenticarse. El uso de tickets TLS puede ayudar a mitigar este problema, pero no todos los clientes los admiten y pueden resultar difíciles de configurar y gestionar.
- Mejor aprovechamiento de los servidores backend – El procesamiento SSL/TLS requiere un uso muy intensivo de la CPU, que aumenta a medida que crece el tamaño de las claves. Liberar a los servidores backend de esta tarea les permite centrarse en aquello que hacen con mayor eficiencia: servir contenido.
- Enrutamiento inteligente – Al descifrar el tráfico, el proxy tiene acceso al contenido de la solicitud, como los encabezados, el URI, etc., y puede utilizar estos datos para enrutar las solicitudes.
- Gestión de certificados – Los certificados solo deben adquirirse e instalarse en los servidores proxy, no en todos los servidores backend. Esto permite ahorrar tiempo y dinero.
- Parches de seguridad – Si surgen vulnerabilidades en la pila SSL/TLS, los parches correspondientes solo deben aplicarse a los servidores proxy.
Para obtener más información, consulte Terminación SSL de NGINX en la Guía de administración de NGINX Plus.
Cifrado SSL/TLS para los servidores de origen
En ocasiones, puede que necesite que NGINX cifre el tráfico que envía a los servidores backend. Estas solicitudes pueden llegar al servidor NGINX como texto sin cifrar o como tráfico cifrado que NGINX debe descifrar para tomar una decisión de enrutamiento. El uso de un conjunto de conexiones persistentes con los servidores backend minimiza el número de negociaciones SSL/TLS y, por tanto, maximiza el rendimiento de SSL/TLS. Esto se consigue de forma muy sencilla configurando NGINX para que actúe como proxy mediante «https», de modo que cifre automáticamente el tráfico que aún no esté cifrado.
Cifrado de extremo a extremo
Dado que NGINX puede realizar tanto el descifrado como el cifrado, es posible aplicar cifrado de extremo a extremo a todas las solicitudes y, al mismo tiempo, permitir que NGINX siga tomando decisiones de enrutamiento en la capa 7. En este caso, los clientes se comunican con NGINX mediante HTTPS; NGINX descifra las solicitudes y vuelve a cifrarlas antes de enviarlas a los servidores backend. Esto puede resultar conveniente cuando el servidor proxy no se encuentra en el mismo centro de datos que los servidores backend. A medida que se trasladan cada vez más servidores a la nube, se hace más necesario utilizar HTTPS entre un proxy y los servidores backend.
Certificados de cliente
NGINX puede gestionar certificados de cliente SSL/TLS y se puede configurar para que sean opcionales u obligatorios. Los certificados de cliente permiten restringir el acceso a sus sistemas únicamente a clientes previamente autorizados sin necesidad de contraseña. Además, puede controlar los certificados añadiendo los certificados revocados a una lista de revocación de certificados (CRL), que NGINX consulta para determinar si un certificado de cliente sigue siendo válido.
Funciones de seguridad adicionales
Hay otras funciones que ayudan a cubrir estos casos de uso, entre las que se incluyen, entre otras, las siguientes:
- Varios certificados: una única instancia de NGINX puede admitir numerosos certificados para distintos dominios y escalar hasta gestionar cientos de miles de certificados. Es habitual que una instancia de NGINX preste servicio a muchas direcciones IP y dominios, cada uno de los cuales requiere su propio certificado.
- Grapado OCSP – Cuando esta opción está habilitada, NGINX incluye una respuesta OCSP con marca de tiempo firmada por la autoridad de certificación, que el cliente puede utilizar para verificar el certificado del servidor, evitando así la penalización de rendimiento que supone contactar directamente con el servidor OCSP.
- Cifrados SSL/TLS – Puede especificar qué cifrados están habilitados.
- Protocolos SSL/TLS – Puede especificar qué protocolos están habilitados, incluidos SSLv2, SSLv3, TLSv1, TLSv1.1 y TLSv1.2.
- Certificados encadenados – NGINX admite cadenas de certificados, que se utilizan cuando el certificado del sitio web no está firmado directamente por el certificado raíz de una CA (autoridad de certificación), sino por una serie de certificados intermedios. El servidor web presenta una «cadena de certificados» que contiene los certificados intermedios, de modo que el cliente web pueda verificar la cadena de confianza que vincula el certificado del sitio web con un certificado raíz de confianza.
- Optimizaciones del servidor HTTPS – NGINX se puede ajustar para maximizar su rendimiento SSL/TLS configurando el número de procesos de trabajo, utilizando conexiones persistentes y una caché de sesiones SSL/TLS.
Para obtener más información, consulta estos recursos:
- Terminación SSL de NGINX en la Guía de administración de NGINX Plus
- Configuración de servidores HTTPS en nginx.org
- ngx_http_ssl_module documentación de referencia en nginx.org
Ejemplos
A continuación se muestran algunos ejemplos de las funciones de seguridad de NGINX. Estos ejemplos presuponen conocimientos básicos sobre la configuración de NGINX.
La siguiente configuración gestiona el tráfico HTTP de www.example.com y lo redirige mediante proxy a un grupo de servidores upstream:
upstream backends {
server 192.168.100.100:80;
server 192.168.100.101:80;
}
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://backends;
}
}Ahora, añade compatibilidad con HTTPS para que NGINX descifre el tráfico mediante el certificado y la clave privada y se comunique con los servidores backend a través de HTTP:
upstream backends {
server 192.168.100.100:80;
server 192.168.100.101:80;
}
server {
listen 80;
listen 443 ssl; # 'ssl' parameter tells NGINX to decrypt the traffic
server_name www.example.com;
ssl_certificate www.example.com.crt; # The certificate file
ssl_certificate_key www.example.com.key; # The private key file
location / {
proxy_pass http://backends;
}
}O bien, si recibe el tráfico a través de HTTP y lo envía a los servidores backend a través de HTTPS:
upstream backends {
server 192.168.100.100:443;
server 192.168.100.101:443;
}
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass https://backends; # 'https' prefix tells NGINX to encrypt the traffic
}
}Para probar NGINX Plus, comience hoy mismo su prueba gratuita de 30 días o póngase en contacto con nosotros para hablar sobre sus casos de uso.
Sobre el autor

Artículos relacionados del blog
Únete a F5 NGINX en AppWorld 2024
Descubre las numerosas razones para asistir al evento insignia de F5, que incluirá un emocionante anuncio sobre la cartera de productos NGINX.
Rotación de certificados SSL/TLS sin reinicios en NGINX Open Source
La función de diccionario compartido permite configurar NGINX sin necesidad de reiniciarlo al renovar los certificados SSL/TLS.
Exposición de APIs en Kubernetes
La unidad 2 de Microservices March 2022 se centra en cómo exponer tus API en Kubernetes. Aquí tienes enlaces a los recursos que necesitas: la retransmisión en directo del 14 de marzo, artículos de blog y otros recursos de preparación, y el laboratorio práctico «Protege las API de Kubernetes mediante la limitación de solicitudes».
NGINX Sprint 2.0: visión clara, código renovado y nuevos compromisos con el código abierto
Hoy, en NGINX Sprint 2.0, anunciamos cómo respaldaremos nuestra visión del futuro de las aplicaciones modernas con una mayor presencia en la comunidad de código abierto, incluida la participación en el proyecto comunitario Kubernetes, nuevos proyectos de software de código abierto y la arquitectura de referencia para aplicaciones modernas.
Presentamos NGINX Plus R22
NGINX Plus R22 incorpora nuevas funcionalidades, como la compatibilidad con OCSP para verificar la revocación de certificados en TLS mutuo, el uso de varios proveedores de identidad OIDC en una configuración, el seguimiento en tiempo real de la limitación de solicitudes y conexiones en el panel de NGINX Plus y mejoras en NGINX JavaScript.
Presentamos NGINX Plus R17
NGINX Plus R17 incorpora compatibilidad con la limitación de velocidad en dos fases y con TLS 1.3, la versión más reciente del protocolo Transport Layer Security. La configuración de OpenID Connect es más sencilla y NGINX ModSecurity WAF es el doble de rápido que antes. También se ha actualizado el módulo JavaScript de NGINX.