С появлением простых и бесплатных сертификатов Let's Encrypt и IE8 больше не проблема, я планирую включить SSL на сервере Apache с тысячами имен хостов. Масштабируется ли Apache? Переключение Apache на что-то другое на данный момент не вариант.
Мои первые тесты показывают, что service apache restart
и на самом деле обслуживающие страницы быстро с несколькими тысячами самостоятельно созданных сертификатов и их промежуточных звеньев.
Есть ли некоторые предостережения, о которых мне следует знать? Меня беспокоит, что возможное узкое место при масштабировании возникнет только в реальном производстве, когда будет немного поздно откатиться к ситуации «нет, у нас нет таких сертификатов».
PS. Нет ли ярлыков для создания файла conf со списком <VirtualHost>
... CertificateFile
(Кроме mod_macro
)? Я думаю о чем-то вроде "Просто найди все сертификаты в /etc/letsencrypt/live/
"директива.
Хотя есть ограничения, вы можете использовать многосайтовый сертификат (сертификат с альтернативными именами). Несколько сайтов могут использовать многосайтовый сертификат. Это хорошо поддерживается Let's Encrypt.
Каждый сайт, использующий SSL, должен быть связан с соответствующим сертификатом. Если все сайты используют один и тот же сертификат, его можно настроить в глобальной конфигурации, а не для каждого сайта.
Если у вас есть несколько сертификатов на одном IP-адресе, клиенты, которые не поддерживают SNI, могут столкнуться с проблемами с именем сертификата в зависимости от того, к какому сайту подключается.
Хотя у вас может быть каталог, содержащий сертификаты, которым вы доверяете, нет никакого механизма выбора сертификата из списка сертификатов. Я никогда не видел инструмента, позволяющего это сделать.
Вы можете написать сценарий, который считывает сайты, поддерживаемые сертификатом, и обновляет соответствующую конфигурацию сайта, указав расположение этого сертификата. Это, вероятно, будет проще, если вы используете каталог include для настройки своих сайтов. (Debian / Ubuntu использует каталог с поддержкой сайтов для активации сайтов, которые определены в каталоге с доступом к сайтам.) Хороший стандарт именования упростит это, но необходимые данные должны быть в определении виртуального хоста apache.