Рейтинг:0

Проблемы с Apache2 Vhost - когда мой виртуальный хост включен, корневой домен показывает этот виртуальный хост

флаг ca

Я запускаю apache2 на сервере Debian 10.

У меня есть виртуальный хост для одного из поддоменов, которые у меня есть. У меня возникла проблема, когда, если виртуальный хост поддомена включен, переход к Broadcastre.cc покажет содержимое smf.broadcastre.cc (виртуальный хост).

Это не преднамеренно, и любая помощь в этом вопросе будет оценена по достоинству.

Моя конфигурация виртуального хоста

root@server1:~# cat /etc/apache2/sites-available/smf.conf

<Виртуальный хост *:80>
     ServerAdmin <email скрыт>
     имя_сервера smf.broadcastre.cc
     Псевдоним сервера www.smf.broadcastre.cc
     Корень документа /var/www/smf
     DirectoryIndex index.php

     <Каталог /var/www/smf>
        Опционы Индексы FollowSymLinks MultiViews
        Разрешить переопределить все
        Порядок разрешить, запретить
        разрешить от всех
     </Каталог>

    <Соответствие файлов \.php$>
      # Для Apache версии 2.4.10 и выше используйте SetHandler для запуска PHP в качестве сервера процессов fastCGI.
      SetHandler "прокси:unix:/run/php/php5.6-fpm.sock|fcgi://localhost"
    </FilesMatch>

     Журнал ошибок ${APACHE_LOG_DIR}/smf.broadcastre.cc_error.log
     CustomLog ${APACHE_LOG_DIR}/smf.broadcastre.cc_access.log вместе
</ виртуальный хост>

Конфиг для Broadcastre.cc

root@server1:~# cat /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
        <Виртуальный хост _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 /root/.acme.sh/broadcastre.cc/broadcastre.cc.cer
                SSLCertificateKeyFile /root/.acme.sh/broadcastre.cc/broadcastre.cc.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
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType текст/css A31536000
    ExpiresByType text/x-component A31536000
    Приложение ExpiresByType/x-javascript A31536000
    Приложение ExpiresByType/javascript A31536000
    ExpiresByType текст/javascript A31536000
    ExpiresByType text/x-js A31536000
    ExpiresByType text/html A3600
    ExpiresByType text/richtext A3600
    ExpiresByType текстовый/обычный A3600
    ExpiresByType text/xsd A3600
    ExpiresByType текст/xsl A3600
    ExpiresByType текст/xml A3600
    ExpiresByType видео/asf A31536000
    ExpiresByType видео/avi A31536000
    ExpiresByType image/bmp A31536000
    Приложение ExpiresByType/java A31536000
    ExpiresByType видео/divx A31536000
    Приложение ExpiresByType/msword A31536000
    ExpiresByType image/gif A31536000
    Приложение ExpiresByType/x-gzip A31536000
    ExpiresByType image/x-icon A31536000
    ExpiresByType image/jpeg A31536000
    ExpiresByType image/webp A31536000
    Приложение ExpiresByType/json A31536000
    ExpiresByType аудио/миди A31536000
    ExpiresByType видео/quicktime A31536000
    ExpiresByType audio/mpeg A31536000
    ExpiresByType видео/mp4 A31536000
    ExpiresByType видео/mpeg A31536000
    ExpiresByType видео/webm A31536000
    Приложение ExpiresByType/x-font-otf A31536000
    ExpiresByType audio/ogg A31536000
    Приложение ExpiresByType/pdf A31536000
    ExpiresByType image/png A31536000
    ExpiresByType audio/x-realaudio A31536000
    ExpiresByType image/svg+xml A31536000
    Приложение ExpiresByType/x-shockwave-flash A31536000
    Приложение ExpiresByType/x-tar A31536000
    ExpiresByType image/tiff A31536000
    Приложение ExpiresByType/x-font-ttf A31536000
    ExpiresByType аудио/wav A31536000
    ExpiresByType аудио/wma A31536000
    Приложение ExpiresByType/шрифт-woff A31536000
    Приложение ExpiresByType/font-woff2 A31536000
    Приложение ExpiresByType/zip A31536000
</ЕслиМодуль>
                Псевдоним /mail/usr/share/roundcube
        </ виртуальный хост>
</ЕслиМодуль>

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

Изменить: Открытие Broadcastre.cc с портом 443 вместо 80 исправляет это. Я предполагаю, что это потому, что он слушает 443, а не 80 (спасибо слегка_toasted за указание на это)

slightly_toasted avatar
флаг bd
Кажется, что `broadcastre.cc` прослушивает порт 443, а `smf.broadcastre.cc` прослушивает порт 80. Поэтому, если вы перейдете к `smf.broadcastre.cc` через порт 443 (HTTPS), вы на самом деле будете обслуживаться ` Broadcastre.cc`. Также проверьте порядок приоритета Apache VHost: http://lifeonubuntu.com/what-is-the-apache-directive-order-of-precedence/

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

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