coolkit: NGINX CoolKit Module
Installation
Vous pouvez installer ce module dans toute distribution basée sur RHEL, y compris, mais sans s'y limiter :
- RedHat Enterprise Linux 7, 8, 9 et 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 et 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
Activez le module en ajoutant ce qui suit en haut de /etc/nginx/nginx.conf :
load_module modules/ngx_coolkit_module.so;
Ce document décrit nginx-module-coolkit v0.2 publié le 23 août 2020.
ngx_coolkit est une collection de petits et utiles modules complémentaires pour nginx.
DIRECTIVES DE CONFIGURATION :
override_method off | [methods] source (contexte : http, serveur, location)
Remplace la méthode HTTP.
par défaut : aucun
VARIABLES DE CONFIGURATION :
$remote_passwd
Mot de passe décodé à partir de l'en-tête "Authorization" (Authentification HTTP de base).
$location
Nom du bloc de localisation correspondant.
EXEMPLE DE CONFIGURATION #1 :
http { server { location / { override_method $arg_method; proxy_pass http://127.0.0.1:8100; } } }
Transmet la demande avec la méthode HTTP modifiée (basée sur "?method=XXX") vers le backend.
EXEMPLE DE CONFIGURATION #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;
}
}
}
Restreindre l'accès aux fichiers locaux en s'authentifiant contre une base de données SQL.
Modules requis (autres que ngx_coolkit) : - ngx_http_auth_request_module, - ngx_postgres (PostgreSQL) ou ngx_drizzle (MySQL, Drizzle, SQLite), - ngx_set_misc.
GitHub
Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-coolkit.