Назад | Перейти на главную страницу

Apache - виртуальный хостинг для массового клиента, настраиваемый SSL, обратный прокси

Мой сценарий заключается в том, что мы размещаем несколько веб-сайтов для клиентов, и все сайты клиентов работают только на SSL.

В настоящее время у нас есть отдельный файл виртуального хоста для каждого клиента Apache. Каждый файл почти одинаков, за исключением имени / псевдонима сервера и части конфигурации ssl. Остальная часть конфигурации - это в значительной степени просто некоторые объявления обратного прокси, чтобы сообщить apache завершить работу ssl и затем передать трафик на серверный IIS (сайт .net). Примечание: все сайты работают на одном IP, поэтому используется SNI и, похоже, работает хорошо (пока нет соответствия, что хорошо).

Другая основная функция, которая у нас есть, заключается в том, что клиент может войти на свой «клиентский портал» (наш веб-сайт) и сгенерировать CSR, чтобы передать его третьей стороне, чтобы подписать его и вернуть нам сертификат. Когда они генерируют CSR, мы храним закрытые ключи на сервере.

Проблема в том, что:

1) Наличие отдельного файла виртуального хоста для каждого клиента сложно поддерживать, учитывая, что большая часть файла у них одинакова. (Также ограничения файловых дескрипторов становятся проблемой)

2) Клиент может изменить свой ssl в любое время. Т.е. у них может остаться всего 2 месяца на сертификате, и, следовательно, они захотят войти в свою учетную запись и получить новый CSR и изменить свой ssl-сертификат через 2 месяца. Возникает проблема, что мне нужно выполнить «перезапуск» apache, чтобы перезагрузить сертификаты. Помните, что все сайты работают через один и тот же веб-сервер, поэтому его перезапуск повлияет на всех.

Следовательно:

1) Я рассматриваю возможность перехода на «динамически настраиваемый массовый виртуальный хостинг» для Apache, однако, согласно этому сайту Вот, говорится следующее:

"Прекращение действия SSL невозможно на сервере, если все динамически размещенные домены не являются субдоменами, на которые распространяется SSL-сертификат субдомена с подстановочными знаками"

Однако каждый сайт является собственным доменом, а не только поддоменами.

Есть ли способ добиться этого массового хостинга с использованием динамического ssl в Apache. Если нет (что, как мне кажется, так), что я могу поставить «перед» apache, чтобы разорвать соединение SSL, которое не требует перезапуска? (У него должен быть способ изменить сертификат, но не влиять на другие сайты, работающие на том же IP / веб-сервере)

Т.е. (HAProxy / Pound / другой ??) -> Apache -> IIS

Я бы поставил прокси Hitch TLS перед apache - https://hitch-tls.org/.

Из списка функций:

  • Безопасен для больших инсталляций: до 15 000 прослушивающих розеток и 500 000 сертификатов.
  • Поддержка бесшовной перезагрузки конфигурации во время выполнения сертификатов и конечных точек прослушивания.

Если для ваших пользователей не очень важно создавать CSR и выбирать CA самостоятельно, рассмотрите возможность включения заминки с Let's Encrypt и Acmetool. С помощью небольшого скрипта для добавления и удаления доменов соответственно вы получите бесплатные сертификаты для всех доменов с автоматической выдачей и автоматическим продлением. Установить и забыть = Win: Win.

Видеть: https://info.varnish-software.com/blog/five-steps-to-secure-varnish-with-hitch-and-lets-encrypt