Skip to main content
SEO оптимизация сайта

SEO-HUNTER

Веб-программирование

[RISH] Настройка поддоменов на сервере, установка wildcard сертификата

[RISH] Как настроить поддомены, установить wildcard-сертификат и оптимизировать Apache

Инструкция по RISH (SSH Web-server control panel) написана по заказу и поддержке @progreccor
Для крупных локальных компаний, нацеленных на оптимизацию своих веб-сайтов в соответствии с неформализованными критериями Яндекса, актуальными на середину 2023 года, применение поддоменов является рекомендованной практикой. Для обеспечения безопасности соединений через HTTPS на всех поддоменах следует использовать wildcard-сертификат. В конфигурации Apache для объединения запросов, направляемых на поддомены, к основному домену, рекомендуется применять директиву ServerAlias. Данная директива позволяет ассоциировать дополнительные доменные имена с определенным виртуальным хостом.

Общие понятия о сертификате Wildcard

(Wildcard) сертификат — это SSL/TLS сертификат, который позволяет защищать неограниченное количество поддоменов одного и того же домена. В отличие от стандартного сертификата, который обычно защищает один конкретный домен (например, example.com), вилдкард-сертификат может защищать все поддомены этого домена (например, *.example.com).

Применяется вилдкард-сертификат, когда у вас есть множество поддоменов и вы хотите использовать один сертификат для их защиты, вместо того чтобы получать и управлять отдельными сертификатами для каждого поддомена.

Преимущества вилдкард-сертификата:

  • Экономия денег и времени. Вам не нужно покупать и управлять множеством сертификатов.
  • Гибкость. Вы можете добавлять новые поддомены под защиту вилдкард-сертификата без необходимости получения нового сертификата.
  • Однако есть и недостатки:

  • Безопасность. Если приватный ключ вилдкард-сертификата становится известен злоумышленникам, все поддомены становятся уязвимыми.
  • Не все серверы поддерживают вилдкард-сертификаты. Некоторые платформы или приложения могут не поддерживать их.
В общем, выбор между вилдкард-сертификатом и стандартными сертификатами зависит от ваших потребностей в безопасности, управлении и бюджете.

Основы директивы ServerAlias в Apache: управление множественными доменами на одном виртуальном хосте

Директива ServerAlias в веб-сервере Apache позволяет определить дополнительные доменные имена для виртуального хоста. Виртуальный хост позволяет одному серверу Apache обслуживать несколько веб-сайтов на разных доменах или поддоменах.

В общем, вот как это работает:

  • Директива ServerName: Эта директива задает основное доменное имя для виртуального хоста. Это имя используется для обслуживания запросов, если не найдено соответствующего ServerAlias.
  • Директива ServerAlias: Здесь вы можете указать одно или несколько дополнительных доменных имен для виртуального хоста. Если запрос приходит на один из этих доменов, он будет обработан этим виртуальным хостом.
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com sub.example.com
    DocumentRoot /var/www/example
</VirtualHost>

В этом примере основным доменом для виртуального хоста является example.com, но он также будет обслуживать запросы, приходящие на www.example.com и sub.example.com.

Почему это полезно?

  • Можно иметь несколько доменных имен, указывающих на один и тот же сайт, без необходимости создания отдельных виртуальных хостов для каждого домена.
  • Это удобно, если у вас есть доменные имена в разных зонах (например, .com, .net, .org), но они должны указывать на один и тот же сайт.
  • Позволяет легко настроить перенаправление с www на без www или наоборот.
# Виртуальный хост для основного домена и доменов в разных зонах
<VirtualHost *:80>
    ServerName yoursite.com
    ServerAlias www.yoursite.com yoursite.net www.yoursite.net yoursite.org www.yoursite.org
    DocumentRoot /var/www/yoursite

    # Перенаправление с www на без www
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
</VirtualHost>

Важно помнить, что правильная конфигурация Apache с использованием ServerAlias и других директив требует понимания основ виртуального хостинга и знания работы вашего веб-сервера.

Конфигурация веб-сервера RISH для работы с поддоменами с использованием директивы ServerAlias

Для начала, зарегистрируйте необходимые поддомены у вашего доменного регистратора. Укажите для каждого из них запись A, которая будет указывать на IP-адрес вашего сервера. Дополнительно создайте поддомен _acme-challenge и добавьте к нему TXT запись, полученную от автоматического бота.

Произведите конфигурацию следующих файлов, добавив в них директиву ServerAlias:

/etc/httpd/conf.d/site.com-le-ssl.conf
/etc/httpd/conf.d/site.com.conf

После этого ваш веб-сервер будет готов к процессу получения сертификата. Обратите внимание: нет необходимости создавать все поддомены сразу, так как один Wildcard сертификат может покрыть все поддомены основного домена.

Процедура получения Wildcard сертификата от Let’s Encrypt

Несмотря на коммерческие предложения многих хостинг-провайдеров, можно получить бесплатный Wildcard сертификат от Let’s Encrypt. Для этого выполните следующую команду на сервере RISH через SSH:

certbot certonly --manual -d 'yourdomain.com' -d '*.yourdomain.com'

В ответ на выполнение команды, автоматический бот предоставит вам TXT запись. Добавьте эту запись к ранее созданному поддомену _acme-challenge и ко вторичному домену.

После завершения процедуры, сертификат будет сохранён по следующему пути:

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/site.com-0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/site.com-0001/privkey.pem

Данные пути следует добавить в конфигурационные файлы site.com-le-ssl.conf и site.com.conf на вашем сервере.

После всех настроек перезагрузите Апач (на крайний случай веб-сервер).

sudo systemctl restart httpd

Получение Wildcard сертификата от Let’s Encrypt без необходимости прописывания путей

certbot --apache -d 'yourdomain.com' -d '*.yourdomain.com'

Теперь в команде используется флаг --apache, который подразумевает, что Certbot будет пытаться автоматически настроить ваш Apache веб-сервер для использования нового сертификата.

[SEO-HUNTER] Веб-программирование: фронтенд, бэкенд. Администратирование.
Договор оферты | Политика обработки персональных данных | Согласие с рассылкой
© SEO-HUNTER. ОГРНИП #, ИНН # Все права защищены. Copyright 2021

Разработчики проекта:

  • SEO-HUNER