tls_verify_host
Директива `tls_verify_host` настраивает проверку доверия к именам хостов при установлении TLS-соединений в контексте Proxy-Wasm в NGINX.
Описание
Директива tls_verify_host является частью поддержки Proxy-Wasm в NGINX и позволяет требовать проверку имени хоста во время TLS-рукопожатия для исходящих соединений. При включении NGINX проверяет, что имя хоста сервера, к которому устанавливается соединение, соответствует полям Common Name (CN) или Subject Alternative Name (SAN) в TLS-сертификате сервера. Это важно для предотвращения атак типа man-in-the-middle и для уверенности, что клиент общается с ожидаемым сервером.
Эта директива принимает один аргумент — "on" или "off". При установке в "on" (или при включении) NGINX выполняет проверку имени хоста. Соответственно, установка в "off" отключает этот процесс проверки. Как правило, рекомендуется включать эту директиву для обеспечения безопасных соединений, особенно когда сервер NGINX выступает в роли обратного прокси или шлюза.
С точки зрения поведения, если tls_verify_host включена и проверка имени хоста не проходит, NGINX не установит соединение и зафиксирует ошибку с указанием причины отказа. Это помогает гарантировать, что разрешаются только безопасные соединения с действительными хостами, сохраняя целостность веб-сервиса, предоставляемого через NGINX.
Пример конфига
http {
server {
listen 9000;
location / {
proxy_pass https://backend.server;
tls_verify_host on;
}
}
}Убедитесь, что директива включена при работе с исходящими TLS-соединениями, чтобы предотвратить потенциальные проблемы с безопасностью.
Несовпадение имени хоста может привести к сбоям соединения; убедитесь, что ваши серверные сертификаты правильно настроены.