У меня есть 2 экземпляра Nginx, каждый слушает на 80 и имеет a proxy_pass https://second_nginx;
Второй экземпляр настроен, чтобы послушать на 443 с сам подписанный сертификат, но также и сделать, чтобы клиент SSL проверил.
Я хотел бы создать доверительное соединение между ними и 'ввести' клиентский сертификат/ключ к этому proxypass так, чтобы что-либо идущее в первую инстанцию не знало об этом.
Это возможно? Мне нужен пользовательский модуль?
править: Я нашел, что stunnel может быть подходящим решением добавить, что промежуточный слой, действительно ли это - хорошее решение?
Я обнаружил, что stunnel может быть подходящим решением для добавления этого уровень между ними, хорошее ли это решение?
Я не знаю, что у nginx есть такая функциональность (т.е. предоставление сертификата клиента при проксировании запроса на апстрим).
В этом случае работает stunnel. Вы можете предоставить сертификат для каждой услуги. Настройте его в stunnel.conf
[upstream]
accept = localhost:4343
connect = upsteam.host:443
client = yes
cert = /path/to/public.cert
key = /path/to/private.key
И для конфигурации восходящего потока nginx
proxy_pass http://localhost:4343;