Перейти к содержанию

coolkit: Модуль NGINX CoolKit

Установка для Debian/Ubuntu

Эти документы применимы к APT пакету nginx-module-coolkit, предоставляемому репозиторием GetPageSpeed Extras.

  1. Настройте APT репозиторий, как описано в настройке APT репозитория.
  2. Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-coolkit
Показать версии и архитектуры
| Дистрибутив | Версия             | Компонент   | Архитектуры   |
|-------------|--------------------|-------------|----------------|
| debian      | bookworm           | main        | amd64, arm64   |
| debian      | bookworm-mainline  | main        | amd64, arm64   |
| debian      | trixie             | main        | amd64, arm64   |
| debian      | trixie-mainline    | main        | amd64, arm64   |
| ubuntu      | focal              | main        | amd64, arm64   |
| ubuntu      | focal-mainline     | main        | amd64, arm64   |
| ubuntu      | jammy              | main        | amd64, arm64   |
| ubuntu      | jammy-mainline     | main        | amd64, arm64   |
| ubuntu      | noble              | main        | amd64, arm64   |
| ubuntu      | noble-mainline     | main        | amd64, arm64   |

О МОДУЛЕ:

ngx_coolkit — это коллекция небольших и полезных дополнений для nginx.

ДИРЕКТИВЫ КОНФИГУРАЦИИ:

override_method off | [methods] source (контекст: http, сервер, местоположение)

Переопределите HTTP метод.

по умолчанию: none

ПЕРЕМЕННЫЕ КОНФИГУРАЦИИ:

$remote_passwd

Декодированный пароль из заголовка "Authorization" (Базовая HTTP Аутентификация).

$location

Имя совпадающего блока местоположения.

ПРИМЕР КОНФИГУРАЦИИ #1:

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

Передайте запрос с измененным HTTP методом (основанным на "?method=XXX") на сервер.

ПРИМЕР КОНФИГУРАЦИИ #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;
    }
}

}

Ограничьте доступ к локальным файлам, аутентифицируясь против SQL базы данных.

Необходимые модули (кроме ngx_coolkit): - ngx_http_auth_request_module, - ngx_postgres (PostgreSQL) или ngx_drizzle (MySQL, Drizzle, SQLite), - ngx_set_misc.