Возможно, я упускаю что-то действительно элементарное, но я уже некоторое время пытаюсь настроить сервер Apache (обслуживающий сайт WordPress) для SSL с балансировщиком нагрузки DigitalOcean.
Балансировщик нагрузки должен хранить сертификат и перенаправлять http-доступ на порту 80 на https 443, проблема в том, что Apache отвечает кодом 400 и этой строкой «\x16\x03\x01».
Согласно моему расследованию (я могу ошибаться, поправьте меня), это происходит потому, что Apache пытается выполнить SSL-рукопожатие, и для этого мне нужно включить директиву SSLEngine, но когда я это делаю, я получаю ошибку «Не удалось настроить хотя бы один сертификат и ключ для <my_domain>:443».
Думаю, я понимаю, что это происходит потому, что я не добавляю директивы SSLCertificateFile и SSLCertificateKeyFile. Я ожидал, что он прочитает сертификат из балансировщика нагрузки, но, по-видимому, этого не происходит, и я не вижу в документации Apache никаких директив, которые позволяли бы мне это сделать.
В Интернете много информации о настройке Apache в качестве обратного прокси-сервера, но мне не удалось найти ничего о подключении через прокси-сервер/балансировщик нагрузки.
Я ценю любую помощь, которую вы можете оказать. Я добавляю несколько снимков экрана, чтобы прояснить ситуацию.
Ошибка Apache
Конфигурация балансировщика нагрузки
Файл конфигурации SSL
Файл конфигурации по умолчанию
решение1
Мне удалось заставить это работать, добавив самоподписанный сертификат в Apache. Не уверен, является ли это лучшим или наиболее элегантным способом, но это единственный известный мне способ, который позволяет мне сохранять сертификат балансировщика для клиентов (что мне и нужно, поэтому я автоматически продлеваю его) и не настраивать его заново на сервере.
Насколько я понимаю, это не представляет проблемы безопасности, поскольку связь между LB и сервером происходит в VPC, и даже при использовании самоподписанного сертификата она все равно шифруется с помощью SSL.
Если у кого-то есть предложения по улучшению этого вопроса, они приветствуются. Я просто публикую это на случай, если это поможет кому-то в будущем.