У меня есть веб-сервер с полным корневым доступом, на котором размещены 3 домена. Они находятся на одном IP-адресе и управляются через файлы VirtualHost, на которых запущен apache2.
Я хотел бы добавить к одному из них возможность SSL, т.е. иметь возможность доступа к тому же сайту через https://example.com
Я перепробовал все, что нашел в Интернете, но большинство из них приводит к тому, что apache вообще не обслуживает какой-либо контент.
Я был бы рад любой помощи в том, как настроить мою систему для поддержки этого.
Спасибо,
Tuncay
Вы должны добавить в apache conf
NameVirtualHost x.x.x.x:443
с вашим ip, а затем виртуальным хостом
<VirtualHost x.x.x.x:443>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/cert.pem
SSLCertificateKeyFile /etc/apache2/ssl/key.pem
SSLCertificateChainFile /etc/apache2/ssl/ca.crt
# ...
</VirtualHost>
То, о чем вы просите, невозможно. SSL - это отдельный уровень, который инкапсулирует ваш HTTP-сеанс, и он возникает до начала HTTP-сеанса. На этом этапе Apache не может определить, по какому имени хоста вы пытаетесь получить доступ к серверу.
Вы можете использовать только виртуальные хосты на основе IP с SSL.
Для получения дополнительной информации см. эта секция FAQ по Apache SSL / TLS.
Редактировать: Извините, я неправильно понял ваш вопрос. Я предполагал, что вам нужен SSL для всех ваших доменов. Однако, если вы посмотрите тот же FAQ, там же есть и решение вашего вопроса. Вам необходимо явно указать порты для вашего HTTP-хоста NameVirtualHosts.