Я написал много руководств, у некоторых не было дат, некоторые, вероятно, устарели, некоторые не были ясны по некоторым деталям ... Прямо сейчас я запутался. Потратил на это весь день.
Я использую ubuntu 16.04 / apache2 с некоторыми виртуальными хостами.
Я получил сертификат ssl, скачал файлы и загрузил их. Получил файл пакета и файл .crt. Ключевой файл был создан ранее в процессе.
Мой первый вопрос, я думаю, будет о файле конфигурации для виртуального хоста. В некоторых руководствах говорится, что нужно использовать файл: default-ssl.conf, который находится внутри: / etc / apache2 / sites-available, и использовать его в качестве основы.
В другом руководстве говорится, что все детали сертификата включены в основной файл domain-example.com.conf.
Итак, должно ли быть 2 файла для одного домена: файл main-domain.com.conf для порта: 80 и другой файл, который будет default-ssl.conf для порта: 443?
Другой мой вопрос касается синтаксиса и правильных имен для некоторых вещей. Во-первых, эта часть:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
Делает VirtualHost _default_
нужно так называть, VirtualHost _default_
? Или надо что-то заменить? В _default_
часть выглядит странно.
Другой мой вопрос касается правильного имени для использования в файле конфигурации: SSLCACertificateFile
или SSLCertificateChainFile
Также следовал руководству хостинговой компании, в котором говорилось, что файл конфигурации для виртуального хоста должен иметь IP-адрес сервера, поэтому он выглядит так (обратите внимание на <VirtualHost 155.131.133.211:80>
часть ) :
<VirtualHost 155.131.133.211:80>
ServerAdmin admin@sitexample.com
ServerName sitexample.com
ServerAlias www.sitexample.com
DocumentRoot /var/www/html/sitexample.com/
Это действительно способ сделать это? Потому что после того, как весь день пробовали разные вещи, в какой-то момент sitexample.com больше не указывал на правильный веб-сайт с правильным путем /var/www/html/sitexample.com/, а вместо этого указывал на страницу с "Index Of" в качестве заголовка это выглядело как главная страница IP-сервера.
Значение по умолчанию зависит от того, какую ОС / дистрибутив вы используете, но я бы рекомендовал разделить их для ясности - но для каждого сайта, а не для протокола (так что весь www.website1.com будет в одном файле, весь www.otherwebsite. net будет через секунду).
Вам не нужно указывать параметр VirtualHost, кроме случаев, когда ваш сайт по умолчанию НЕ совпадает для HTTP и HTTPS. В этом случае (с использованием распознавания заголовка хоста) вам понадобится другой VirtualHost для каждого DNS-имени (имен) сайта с соответствующим параметром «ServerName».
SSLCACertificateFile - это ваш сертификат, SSLCertificateChainFile - это пакет (сертификаты от вашего выдающего CA).
Наконец, вы, вероятно, НЕ хотите, потому что это сработает только тогда, когда кто-то перейдет к http://155.131.133.211 - если они используют DNS-имя для сайта, даже если это имя разрешается в тот же IP-адрес, вместо этого он отправит вас на сайт по умолчанию.