Рейтинг:0

apache2 указывает неправильный путь при использовании https для поддоменов

флаг np

У меня есть подстановочный сертификат ssl (letsencrypt), например, example.de и *.example.com.

Мой 000-default.conf выглядит так:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerName example.de
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    Redirect permanent / https://example.de/

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

<VirtualHost *:80>
    ServerName cloud.example.de
    ServerAdmin [email protected]
    DocumentRoot /var/www/cloud.example.de
    Redirect permanent / https://cloud.example.de/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName dev.example.de
    ServerAdmin [email protected]
    DocumentRoot /var/www/dev.example.de
    Redirect permanent / https://dev.example.de/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

по умолчанию-ssl.conf:

<IfModule mod_ssl.c>

    <Виртуальный хост *:443>
        Имя сервера example.de
        SSLEngine включен
        SSLCertificateFile /etc/letsencrypt/live/example.de/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.de/privkey.pem
        Корень документа /var/www/html
        Журнал ошибок ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log вместе
    </ виртуальный хост>

    <Виртуальный хост _default_:443>
        Веб-мастер администратора сервера@localhost

        Корень документа /var/www/html

        # Доступные уровни логов: trace8, ..., trace1, debug, info, note, warn,
        # ошибка, крит, оповещение, эмердж.
        # Также можно настроить уровень логирования для конкретного
        # модули, например.
        # Информация об уровне журнала ssl: предупреждение

        Журнал ошибок ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log вместе

        # Для большинства конфигурационных файлов из conf-available/, которые
        # включено или отключено на глобальном уровне, можно
        # включить строку только для одного конкретного виртуального хоста. Например
        # следующая строка включает конфигурацию CGI только для этого хоста
        # после глобального отключения с помощью "a2disconf".
        # Включить conf-available/serve-cgi-bin.conf

        # Переключатель механизма SSL:
        # Включить/отключить SSL для этого виртуального хоста.
        SSLEngine включен

        # Самоподписанный сертификат (snakeoil) можно создать, установив
        # пакет ssl-сертификата. Видеть
        # /usr/share/doc/apache2/README.Debian.gz для получения дополнительной информации.
        # Если и ключ, и сертификат хранятся в одном файле, только
        # Требуется директива SSLCertificateFile.
        SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        # Цепочка сертификатов сервера:
        # Указываем SSLCertificateChainFile на файл, содержащий
        # объединение закодированных PEM сертификатов CA, которые формируют
        # цепочка сертификатов для сертификата сервера. Альтернативно
        # указанный файл может быть таким же, как SSLCertificateFile
        # когда сертификаты ЦС напрямую присоединяются к серверу
        # сертификат для удобства.
        #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

        # Центр сертификации (ЦС):
        # Установите путь проверки сертификата ЦС, где найти ЦС
        # сертификаты для аутентификации клиента или один
        # огромный файл, содержащий их все (файл должен быть закодирован в PEM)
        # Примечание: Внутри SSLCACertificatePath вам нужны хэш-символические ссылки
        # чтобы указать на файлы сертификатов. Используйте предоставленный
        # Makefile для обновления хеш-символических ссылок после изменений.
        #SSLCACertificatePath /etc/ssl/certs/
        #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

        # Списки отзыва сертификатов (CRL):
        # Установите путь отзыва ЦС, где можно найти CRL ЦС для клиента
        # аутентификация или, как вариант, один огромный файл, содержащий все
        # из них (файл должен быть закодирован в PEM)
        # Примечание: внутри SSLCARevocationPath вам нужны хэш-символические ссылки
        # чтобы указать на файлы сертификатов. Используйте предоставленный
        # Makefile для обновления хеш-символических ссылок после изменений.
        #SSLCAREvocationPath /etc/apache2/ssl.crl/
        #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl

        # Аутентификация клиента (тип):
        # Тип и глубина проверки клиентского сертификата. Типы
        # нет, необязательный, требуемый и необязательный_no_ca. Глубина
        # число, указывающее, насколько глубоко проверять сертификат
        # цепочка эмитента, прежде чем решить, что сертификат недействителен.
        #SSLVerifyClient требует
        #SSLVerifyDepth 10

        # Опции механизма SSL:
        # Установите различные параметры для механизма SSL.
        # о FakeBasicAuth:
        # Преобразование клиента X.509 в базовую авторизацию. Это означает, что
        # для управления доступом можно использовать стандартные методы Auth/DBMAuth.
        # имя пользователя - это "однострочная" версия сертификата X.509 клиента.
        # Обратите внимание, что пароль от пользователя не получен. Каждая запись в пользователе
        # файлу нужен этот пароль: `xxj31ZMTZzkVA'.
        # о ЭкспортCertData:
        # Это экспортирует две дополнительные переменные среды: SSL_CLIENT_CERT и
        # SSL_SERVER_CERT. Они содержат закодированные PEM сертификаты
        # сервер (существует всегда) и клиент (существует только тогда, когда клиент
        # используется аутентификация). Это можно использовать для импорта сертификатов
        # в CGI-скрипты.
        # о StdEnvVars:
        # Это экспортирует стандартные переменные среды `SSL_*', связанные с SSL/TLS.
        # По умолчанию этот экспорт отключен из соображений производительности,
        # потому что этап извлечения является дорогостоящей операцией и обычно
        # бесполезно для обслуживания статического контента. Таким образом, обычно включают
        # экспорт только для запросов CGI и SSI.
        # o OptRenegotiate:
        # Это позволяет оптимизировать обработку повторного согласования SSL-соединения, когда SSL
        # директивы используются в контексте каталога.
        #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Каталог /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Каталог>

        # Настройки протокола SSL:
        # Безопасное завершение работы по умолчанию, но все же совместимое со стандартом SSL/TLS
        # подход заключается в том, что mod_ssl отправляет уведомление о закрытии, но не ждет
        # уведомление о закрытии от клиента. Когда вам нужно другое отключение
        # можно использовать одну из следующих переменных:
        # o ssl-unclean-shutdown:
        # Это приводит к нечистому завершению работы при закрытии соединения, т.е.
        # Оповещение о закрытии SSL отправлено или разрешено к получению. Это нарушает
        # является стандартом SSL/TLS, но необходим для некоторых браузеров с мертвым мозгом. Использовать
        # это когда вы получаете ошибки ввода-вывода из-за стандартного подхода, где
        # mod_ssl отправляет уведомление о закрытии.
        # о ssl-точное отключение:
        # Это вызывает точное завершение работы при закрытии соединения, т.е.
        # Оповещение о закрытии SSL отправлено, и mod_ssl ожидает уведомления о закрытии
        # оповещение клиента. Это на 100 % соответствует стандарту SSL/TLS, но в
        # практика часто приводит к зависанию соединений с браузерами с мертвым мозгом. Использовать
        # это только для браузеров, где вы знаете, что их реализация SSL
        # работает корректно.
        # Примечание. Большинство проблем с неработающими клиентами также связаны с протоколом HTTP.
        # функция поддержания активности, поэтому обычно вы также хотите отключить
        # поддерживать активность и для этих клиентов. Используйте для этого переменную «nokeepalive».
        # Точно так же необходимо заставить некоторых клиентов использовать HTTP/1.0 для обходного пути.
        # их неработающая реализация HTTP/1.1. Используйте переменные «downgrade-1.0» и
        # "force-response-1.0" для этого.
        # BrowserMatch "MSIE [2-6]" \
        # nokeepalive ssl-unclean-shutdown \
        # downgrade-1.0 force-response-1.0

    </ виртуальный хост>
</ЕслиМодуль>

# vim: синтаксис=apache ts=4 sw=4 sts=4 sr noet

dev.example.de и cloud.example.de имеют подстановочный ssl-сертификат и перенаправляют оба в каталог html ??

введите описание изображения здесь

То же самое произошло, когда я использую это:

введите описание изображения здесь

Рейтинг:0
флаг in

Ваш DocumentRoot в виртуальном хосте ssl указывает на этот путь Корень документа /var/www/html

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.