Redireccionar el trafico HTTP hacia HTTPS con NGINX

Cuando tengamos que mudar un sitio web completamente a protocolo seguro HTTPS necesitamos que toda petición que venga como HTTP y redirigir hacia el protocolo seguro.

Creamos dos instancias server, una para el puerto 80 (http) y otra para el puerto 443 (https).

Para la instancia server del puerto 443 pondremos toda la configuración del sitio y con los debidos ajustes que SSL requiere.

server {
    listen 443 ssl;
    server_name  example.com;
    server_tokens off;

    # Toda tu configuracion del sitio acontinuacion
    #
}

Para la instancia server del puerto 80 pondremos los ajustes de redirección, en la linea de configuración que empieza con return especifica que cuando hay una petición este devolverá un estado 301 (Movido permanentemente) y lo va redirigir a la misma URI pero con el ajuste en el protocolo, en este caso el protocolo HTTPS.

server {
    listen 80;
    server_name  example.com;
    server_tokens off;
    return 301 https://$server_name$request_uri;
}

Con esto podemos asegurar que las peticiones a nuestra pagina sean solo por HTTPS.

Armando Uch

An Accidental Engineer
• Lazy #Programmer • #TacOps 🌮 • #BOFH
🎸⚾️🍺☕️


2014-11-24