Overview for Nginx


Opciones para un redirect

Hace unos días compré el dominio brolio.dev y decidí usarlo como dominio principal, por lo que un redirect de embrolio.com era necesario y se me ocurrió hacer un mini post con varias opciones disponibles para hacerlo, dependiendo del nivel de acceso que tengamos al server que hostea el sitio.

UPDATE: Certificado SSL con Let's Encrypt

En la entrada sobre como instalar el certificado SSL con Let's Encrypt usaba la versión del certbot del repo de ubuntu. Ahora hay una versión más reciente disponible, su instalación es simple y tiene algunas ventajas que nos van a ser útiles.

Hay un par de pasos extras a realizar, pero nada muy complejo. Vamos a verlo:

Configurar vhosts en nginx

Como ya comenté en el pasado, para este sitio (y otros en el mismo server) estoy utilizando Apache para servir el PHP en el puerto 8080 y al frente un nginx como reverse proxy, que redirecciona las peticiones PHP al Apache y sirve los archivos estáticos, utilizando el prótocolo http2.

Entonces vamos a ver como configurar los vhosts en ambos servers para poder servir más de un sitio desde la misma VM.

Configurar Linode Longview

Una de las herramientas más útiles que tiene Linode (y una de las razones más importantes por las que me decidí a usarlo en lugar de otras VPS de 5 dólares) es Longview.

Longview es un agente que se instala en nuestro server y nos va a proveer métricas muy útiles para monitoreo y diagnóstico de problemas, a las cuales vamos a acceder directamente desde el panel de Linode.

La instalación es muy simple, solo necesitamos acceder a nuestro server por SSH para instalar el agente y modificar algunos archivos.

Certificado SSL con Let's Encrypt (y ajustes a Nginx)

Como comentaba en el artículo pasado, para poder usar el protocolo HTTP/2 en los browsers más conocidos es necesario servir las páginas sobre una conexión segura, para lo cual, a su vez, necesitamos un certificado expedido por un CA (Certificate Authority). Por suerte para todos nosotros que no podemos pagar 100 dólares anuales por un certificado, Let's Encrypt es un CA y nos permite obtener un certificado de manera simple y gratuita.

Vamos a ver el paso a paso para tener el certificado instalado en nuestro server Ubuntu 16.04.

Usar nginx como reverse proxy (Y utilizar http 2)

Si sos curioso, habrás notado que este blog está usando el protocolo http2 para servir las páginas:

Para esto utilicé una configuración que es bastante popular: Nginx como reverse proxy comunicándose con el cliente y sirviendo el contenido estático, y delegando en Apache (que escucha en otro puerto) el contenido PHP.

Vamos a ver el paso a paso para dejar este stack andando en Ubuntu 16.04.