Saltar a contenido

coolkit: Módulo NGINX CoolKit

Instalación

Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:

  • RedHat Enterprise Linux 7, 8, 9 y 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-coolkit
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-coolkit

Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:

load_module modules/ngx_coolkit_module.so;

Este documento describe nginx-module-coolkit v0.2 lanzado el 23 de agosto de 2020.


ngx_coolkit es una colección de pequeños y útiles complementos para nginx.

DIRECTIVAS DE CONFIGURACIÓN:

override_method off | [methods] source (contexto: http, server, location)

Sobrescribir el método HTTP.

predeterminado: ninguno

VARIABLES DE CONFIGURACIÓN:

$remote_passwd

Contraseña decodificada del encabezado "Authorization" (Autenticación HTTP Básica).

$location

Nombre del bloque de ubicación coincidente.

EJEMPLO DE CONFIGURACIÓN #1:

http { server { location / { override_method $arg_method; proxy_pass http://127.0.0.1:8100; } } }

Pasa la solicitud con el método HTTP cambiado (basado en "?method=XXX") al backend.

EJEMPLO DE CONFIGURACIÓN #2:

http { upstream database { postgres_server 127.0.0.1 dbname=test user=monty password=some_pass; }

server {
    location = /auth {
        internal;

        set_quote_sql_str  $user $remote_user;
        set_quote_sql_str  $pass $remote_passwd;

        postgres_pass      database;
        postgres_query     "SELECT login FROM users WHERE login=$user AND pass=$pass";
        postgres_rewrite   no_rows 403;
        postgres_output    none;
    }

    location / {
        auth_request       /auth;
        root               /files;
    }
}

}

Restringe el acceso a archivos locales autenticándose contra una base de datos SQL.

Módulos requeridos (además de ngx_coolkit): - ngx_http_auth_request_module, - ngx_postgres (PostgreSQL) o ngx_drizzle (MySQL, Drizzle, SQLite), - ngx_set_misc.

GitHub

Puedes encontrar consejos adicionales de configuración y documentación para este módulo en el repositorio de GitHub para nginx-module-coolkit.