Cargando



Nginx - Variables SSL

En este tutorial veremos cómo utilizar las variables SSL en Nginx, además que veremos algunas de las más destacadas para tener conocimiento de que tenemos disponible.


jul 19 2014 23:29
Avanzado
jul 21 2014 10:29
La forma en que Nginx trabaja con los rewrites es bastante innovadora, permitiéndonos inclusive utilizar variables y cookies para poder incorporarlas a nuestras reglas, por otro lado el trabajo que podemos lograr con los certificados SSL es bastante interesante ya que podemos hacer configuraciones bastante ingeniosas.

Hay un punto intermedio entre ambas tecnologías en Nginx, esto es que podemos utilizar las variables que tenemos disponibles en SSL para complementar nuestras reglas de rewrite, dando así una nueva dimensión a nuestras configuraciones ya que podemos generar bloques específicos para cuando entremos vía HTTPS a nuestra aplicación.

Variables Disponibles Para su Uso


Veamos inicialmente las variables que tenemos disponibles de nuestro SSL para ser utilizadas en las reglas de rewrite, con ello podremos tener una idea de las cosas que podemos utilizar a nuestro favor en nuestra configuración de Nginx:

$ssl_cipher
Nos permite saber el tipo de cifrado que se utiliza en la conexión SSL establecida.

ssl_client_serial
Nos devuelve el número de serie del certificado del cliente en la conexión SSL establecida, esto siempre y cuando esté activa la autenticación de clientes en la conexión.

$ssl_protocol
Nos indica el protocolo de la conexión establecida, dependiendo del cliente y nuestro servidor puede ser alguno de estos: SSLv2, SSLv3 o TLSv1.

$ssl_session_id
Nos devuelve el id de la sesión establecida en la conexión SSL.

$ssl_client_cert
Nos indica el certificado instalado para el dominio en particular.

$ssl_client_verify
Da un valor SUCCESS que significa exitoso cuando el certificado del cliente es autenticado correctamente en nuestra conexión SSL.


Como vemos estas son solo algunas de las variables más destacadas para que podamos hacer las comprobaciones correspondientes y crear nuestras reglas del rewrite en nuestro servidor Nginx.

Utilizando las Variables


Una vez que ya sabemos que variables podemos utilizar, veamos ahora como hacer esto funcionar con nuestras reglas rewrite, vamos a utilizar el siguiente ejemplo para tener una idea más clara de lo que podemos lograr:

nginx_ssl_rewrite.jpg


Nos fijamos entonces que utilizamos una de las variables SSL y en el condicional la validamos contra lo que necesitamos, en este caso hemos validado que se haya establecido una autenticación con el certificado del cliente, en caso de ser exitoso vamos a hacer un rewrite y lo enviamos al bloque location correspondiente, en caso que no sea validado se envía a otro bloque location.

Con ello podemos utilizar el SSL como un parámetro más de validación y dejar que los usuarios entren a unas zonas o no de nuestra aplicación servida con Nginx, dándonos así más herramientas de trabajo y descargando un poco más el lado de la programación.

Finalizando este tutorial pudimos ver que es muy sencillo generar las reglas rewrite en conjunción con las variables SSL, además que vemos que al establecer un certificado SSL tenemos una gran cantidad de información disponible con lo que podemos inventar mejores formas de controlar nuestra aplicación.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X