Назад | Перейти на главную страницу

Блок расположения сертификата клиента nginx

Как я могу использовать аутентификацию сертификата клиента с nginx для папки? В ssl_client_certificate директива не разрешена в location блоки. Пример: я хочу свой сайт me.tld быть доступным для всех клиентов и всего ниже me.tld/secure/ только аутентифицированными клиентами.

Я не могу попробовать это сам, но вы можете попробовать следующее

Тебе понадобится ssl_verify_client optional; идти рядом ssl_client_certificate а затем используйте следующий блок местоположения

location /secure {
    error_page 418 = @other;
    recursive_error_pages on;
    if ($ssl_client_verify = SUCCESS) {
    return 418
    }

location @other {
    #Secure Config goes here
    }

Сертификат клиента будет проверен, но не для всех местоположений. Когда кто-то пробует /secure каталог nginx проверит, $ssl_client_verify был успешным на server уровень. Если бы это было return ошибка 418 с чем мы сказали nginx в @other расположение.