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

Виртуальные хосты Apache с SSL

У меня есть веб-сервер с полным корневым доступом, на котором размещены 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.