Nginx es uno de mis servidores favoritos. Al escribir este post creí que había escrito abastamente sobre el tema y resulta que solo tengo un artículo dedicado a como crear un balanceador de carga con este servidor.
En el artículo de hoy vamos a ver primero como configurarlo para que sirva contenido estático, algo sencillo. Esto nos puede servir para librerar una web sencilla o el clásico mensaje de estamos trabajando en ello.
La configuración del fichero ‘default.conf’ queda de la siguiente manera:
server { root /opt/web; index index.html; location / { try_files $uri $uri/ $uri.html =404; } }
Donde ‘/opt/web’ es la carpeta donde espera encontrar los archivos. Si, además queréis ponerle un certificado de seguridad el tema iría de la siguiente forma:
server { listen 80 default_server; return 301 https://$host$request_uri; } server { listen 443 ssl; ssl_certificate /etc/nginx/certs/certificado.crt; ssl_certificate_key /etc/nginx/certs/certificado.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; root /opt/web; index index.html; location / { try_files $uri $uri/ $uri.html =404; } }
Y ya para ponerle la guinda podemos arrancar esto sobre Docker simplemente con un comando:
# Sin certificado de seguridad docker run --restart=always \ -p 80:80 \ --name nginx \ -v /opt/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro \ -d nginx:alpine #Con certificado de seguridad docker run --restart=always \ -p 80:80 \ -p 443:443 \ --name nginx \ -v /opt/nginx/certs:/etc/nginx/certs:ro \ -v /opt/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro \ -d nginx:alpine
Como veis la única diferencia entre con certificado de seguridad y sin el está en los puertos que mapeamos y la carpeta donde tenemos los certificados(También mapeados).
En fin, un artículo fácil. Si os ha gustado comentar, compartir y suscribiros 😀