Как я могу использовать аутентификацию сертификата клиента с 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
расположение.