Настройка Apache для обслуживания нескольких поддоменов через HTTP + HTTPS

У меня есть виртуальный сервер, размещенный у провайдера с 2 IPv4-адреса. Я хочу запустить несколько поддоменов (более 2) с Apache и обслуживать их как по HTTP, так и по HTTPS. SSL-сертификат является шаблоном для *.mydomain.com.

Я пытался настроить Apache в Debian таким образом, но не получилось. Либо мои virtualhosts не принимаются, либо я получаю ошибки SSL. (Я знаю, что Apache не видит имя хоста, запрошенное перед обслуживанием сертификата, но сертификат включает все поддомены возможно)

пожалуйста, помогите создать httpd.conf, который лучше всего работает с конфигурацией Apache Debian.

все подробности:

  • Apache прослушивание*: 80 для HTTP и*: 443 для HTTPS
  • все NameVirtualHosts, псевдонимы и так далее. должны быть определены для обоих портов/протоколов сразу
  • по умолчанию mydomain.com и www.mydomain.com должен быть root в /var / www
  • дополнительные NameVirtualHosts для foo.mydomain.com и bar.mydomain.com и т. д. который может быть настроен специально, например, чтобы иметь другой DocumentRoot
11
задан Apache User
08.12.2022 16:03 Количество просмотров материала 2990
Распечатать страницу

1 ответ

Apache can смотрите запрошенное имя хоста, используя TLS указание имени сервера.

однако для этого требуется относительно новый веб-браузер. Например, пользователи Internet Explorer в Windows XP получат сообщения о несоответствии сертификатов для дополнительных доменов. (К счастью, пользователи WinXP/IE почти вымерли.) The статья в Википедии есть список, и вот тестовая страница если вы неуверенный.

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www
    <Directory /var/www/>
        Options Indexes FollowSymlinks MultiViews
    </Directory>
</VirtualHost>

NameVirtualHost *:443

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www
    <Directory /var/www/>
        Options Indexes FollowSymlinks MultiViews
    </Directory>

    SSLEngine on
    SSLCertificateFile /etc/ssl/private/example.com.pem
</VirtualHost>

дополнительное (суб)Домены:

<VirtualHost *:80>
    ServerName foo.example.com
    DocumentRoot /sites/foo
</VirtualHost>

<VirtualHost *:443>
    ServerName foo.example.com
    DocumentRoot /sites/foo

    SSLEngine on
    SSLCertificateFile /etc/ssl/private/foo.example.com.pem
</VirtualHost>
4
отвечен grawity 2022-12-09 23:51

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх