tls_trusted_certificate
Директива `tls_trusted_certificate` указывает доверенный сертификат CA для проверки клиентских сертификатов в конфигурации NGINX.
Описание
Директива tls_trusted_certificate используется в NGINX для указания сертификата доверенного центра сертификации (CA) для проверки клиентских сертификатов. Это особенно полезно в сценариях, когда NGINX выступает в роли обратного прокси для приложений, которым требуется аутентификация клиентов по TLS. При определении этой директивы NGINX использует указанный сертификат для проверки клиентских сертификатов, представленных в процессе TLS-рукопожатия. Если клиентский сертификат не может быть подтверждён по указанным сертификатам CA, рукопожатие завершается неудачей и доступ запрещается.
Директива принимает один аргумент: путь к файлу сертификата CA. Важно убедиться, что файл сертификата находится в формате PEM, который является отраслевым стандартом кодирования сертификатов. Директиву обычно размещают внутри блока server или location при настройке взаимной аутентификации TLS (mTLS), которая добавляет дополнительный уровень безопасности, требуя, чтобы и сервер, и клиент предоставляли действительные сертификаты.
С точки зрения поведения, если директива не установлена или указанный файл не найден, клиентам может быть либо разрешён доступ без проверки, либо отказано в доступе, в зависимости от других связанных настроек безопасности, таких как ssl_verify_client. Таким образом, использование tls_trusted_certificate критически важно в средах, где требуются строгие меры аутентификации для предотвращения несанкционированного доступа.
Пример конфига
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/private/server.key;
tls_trusted_certificate /etc/ssl/certs/ca_cert.pem;
ssl_verify_client on;
}Убедитесь, что файл CA certificate существует по указанному пути; в противном случае NGINX не сможет запуститься.
Убедитесь, что CA certificate имеет правильный PEM-формат; любое несоответствие формата может привести к ошибкам во время client verification.
Если client authentication настроена неправильно, она может не сработать, что приведет к проблемам с подключением у авторизованных пользователей.