Dockerized Apache + SSL за NGINX в качестве обратного прокси

У меня есть два контейнера, в одном из которых работает NGINX в качестве обратного прокси для нескольких других контейнеров. В одном из других контейнеров работает Apache с включенным и настроенным SSL. Я видел несколько примеров конфигурации, в которых, насколько я понимаю, NGINX обрабатывает сертификаты вместо Apache, и просто передает все остальное на какой-нибудь Apache без SSL.

Теперь я бы предпочел, чтобы Apache обрабатывал свои собственные сертификаты, особенно потому, что это облегчает мне жизнь при управлении ими (с использованием dockerized letsencrypt, который монтирует тома из соответствующего контейнера Apache и отбрасывает сертификаты во всех нужных местах).

Проблема в том, что я не могу найти какой-либо пример конфигурации для NGINX, чтобы просто прозрачно проксировать все через контейнер Apache.

2
задан 29 April 2016 в 14:38
1 ответ

Это потому, что nginx не может этого сделать.

Он может завершить SSL-соединение, но не может пройти через него.

У вас есть как минимум два варианта:

  1. Прикрепить сертификаты SSL в крошечном томе Docker, который используется совместно вашим контейнером letsencrypt и контейнером nginx. Пока вы это делаете, вы также можете позволить nginx перехватывать задачи Let's Encrypt, что может немного упростить вашу архитектуру.
  2. Используйте haproxy вместо nginx. В отличие от nginx, haproxy может проходить через SSL-соединения (и делать множество других вещей, которые полезны при установке в контейнерах). Обратите внимание, что для этого требуется поддержка SNI, поэтому такие сайты не будут доступны для старых веб-клиентов, которые не могут поддерживать SNI.
0
ответ дан 3 December 2019 в 14:29

Теги

Похожие вопросы