Pular para conteúdo

coolkit: Módulo NGINX CoolKit

Instalação

Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:

  • RedHat Enterprise Linux 7, 8, 9 e 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 e 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

Ative o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:

load_module modules/ngx_coolkit_module.so;

Este documento descreve o nginx-module-coolkit v0.2 lançado em 23 de agosto de 2020.


ngx_coolkit é uma coleção de pequenos e úteis complementos para nginx.

DIRETIVAS DE CONFIGURAÇÃO:

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

Sobrescrever o método HTTP.

padrão: nenhum

VARIÁVEIS DE CONFIGURAÇÃO:

$remote_passwd

Senha decodificada do cabeçalho "Authorization" (Autenticação HTTP Básica).

$location

Nome do bloco de localização correspondente.

EXEMPLO DE CONFIGURAÇÃO #1:

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

Passe a solicitação com o método HTTP alterado (com base em "?method=XXX") para o backend.

EXEMPLO DE CONFIGURAÇÃO #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;
    }
}

}

Restringir o acesso a arquivos locais autenticando contra um banco de dados SQL.

Módulos necessários (além do ngx_coolkit): - ngx_http_auth_request_module, - ngx_postgres (PostgreSQL) ou ngx_drizzle (MySQL, Drizzle, SQLite), - ngx_set_misc.

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-coolkit.