secure_link_secret

Директива `secure_link_secret` задаёт общий секрет, используемый для проверки защищённых ссылок в NGINX.

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

Описание

Директива secure_link_secret используется в конфигурации NGINX для указания секретного ключа, который применяется при генерации и проверке защищённых ссылок. Это особенно полезно для защиты конфиденциальных ресурсов, поскольку гарантирует, что доступ к ссылкам возможен только у клиентов, обладающих корректной подписью, что ограничивает доступ к целевым файлам для неавторизованных пользователей.

Когда создаётся защищённая ссылка, она состоит из исходного имени файла и метки времени истечения срока действия, которые криптографически хэшируются с помощью secure_link_secret. Это делает ссылку защищённой от подделки: любое изменение ссылки приведёт к отказу в проверке. Когда пользователь пытается получить доступ по защищённой ссылке, NGINX проверяет эту подпись с использованием secure_link_secret и разрешает доступ только если хэш корректен и срок действия не истёк.

Директива принимает один аргумент — строку общего секрета. Её следует настраивать в контекстах http, server или location; использование этой директивы включает функциональность, связанную с защищёнными ссылками, которая также может требовать применения директивы secure_link для управления генерацией и проверкой самих ссылок. Необходимо тщательно хранить общий секрет в конфиденциальности, чтобы предотвратить неавторизованный доступ к ресурсам.

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

http {
    secure_link_secret "1mVm0gfR1cuNzU3nXqRxVhbSe3";
}

server {
    location /protected {
        secure_link $arg_hash,$arg_time;
        if ($secure_link = "0") {
            return 403;
        }
        
        # Serve the protected content...
    }
}

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

Изменение секрета после выдачи ссылок сделает эти ссылки недействительными и потребует генерации новых ссылок с использованием нового секрета.

Тестирование защищённых ссылок в процессе разработки может потребовать сложной настройки, чтобы убедиться, что секрет установлен правильно. Любое несоответствие заблокирует доступ.

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