Я пытаюсь ввести TLS на каждом уровне проксируемого пути. То, что я вижу, это Nginx, позволяющий восходящему потоку иметь самозаверяющий сертификат. Есть ли способ заблокировать полномочия, которые принимаются при передаче трафика вверх по течению?Force nginx для проверки сертификатов выше по течению
end-user --1--> nginx01 --2--> nginx02 --N--> nginxN
nginx01 имеет доверенный сертификат, и конечный пользователь подключается без проблем. nginx02 имеет самозаверяющий сертификат, а когда я proxy_pass до https://nginx02, я не вижу никаких претензий в браузере конечного пользователя или в журналах nginx01. Я бы ожидал отклонения. Если я скручиваю nginx02 из nginx01, как и ожидалось, я получаю отказ ssl.
Есть ли способ заставить nginx01 проверить сертификаты nginx02?
CentOS 7 работает с nginx 1.6.3-8.
/etc/hosts
10.21.10.99 upstream.example.com
curl https://upstream.example.com
# ssl rejection
curl https://upstream.example.com --cacert ./upstream.example.com.crt
# works fine (200)
# nginx configuration
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/security/full_chain.crt;
ssl_certificate_key /etc/nginx/security/ingress.example.com.key;
server_name ingress.example.com;
location/{
proxy_pass https://upstream.example.com;
}
}