aws_sign

Директива aws_sign включает аутентификацию AWS Signature Version 4 при проксировании запросов к службам AWS.

Синтаксисaws_sign;
По умолчаниюnone
Контекстhttp, server, location
Аргументыnone

Описание

Директива aws_sign используется в конфигурациях NGINX для включения автоматической подписи запросов к сервисам AWS, в частности для аутентифицированного проксирования в Amazon S3 или к другим конечным точкам AWS с использованием процесса подписи Signature Version 4. Эта директива не принимает аргументов и реализуется в сочетании с другими директивами, такими как aws_access_key, aws_key_scope и aws_signing_key, которые предоставляют необходимые учетные данные и контекст для процесса подписания.

Когда эта директива включена в блок server или location, NGINX использует настроенные учетные данные AWS и информацию о подписи для подписывания исходящих запросов. Процесс подписи учитывает такие факторы, как URI запроса, заголовки и временная метка, генерируя действительный заголовок авторизации, который AWS требует для аутентификации запроса. Использование этой директивы помогает гарантировать, что чувствительные ключи AWS не будут напрямую раскрыты, при этом сохраняя возможность безопасного взаимодействия с сервисами AWS через NGINX.

Важно правильно настроить aws_access_key, aws_key_scope и aws_signing_key вместе с директивой aws_sign, чтобы обеспечить бесперебойную работу процесса подписания. Неправильная конфигурация может привести к ошибкам аутентификации при попытке NGINX связаться с сервисами AWS.

Пример конфига

server {
    listen 8000;
    aws_access_key your_aws_access_key;
    aws_key_scope scope_of_generated_signing_key;
    aws_signing_key signing_key_generated_using_script;
    aws_s3_bucket your_s3_bucket;

    location / {
        aws_sign;
        proxy_pass http://your_s3_bucket.s3.amazonaws.com;
    }
}

Убедитесь, что все связанные учетные данные AWS указаны правильно; несовпадающие ключи могут привести к ошибкам аутентификации.

Сгенерированные ключи подписи имеют ограниченный срок действия (одна неделя); убедитесь, что они регулярно обновляются.

Порядок директив критичен; aws_sign должен быть правильно определён в соответствующем контексте (server или location), чтобы вступить в силу.

← Ко всем директивам