ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
aaPanel / BaoTa

Создание сайта и бесплатный SSL-сертификат в aaPanel: добавление сайта, DNS, Let's Encrypt и принудительный HTTPS

5 шагов 12 мин чтения 2 просмотров 0
Содержание

После установки aaPanel (BaoTa) обычно следующий шаг — создать сайт и включить HTTPS. На примере стека Nginx в статье показано, как добавить сайт в aaPanel, направить домен на сервер, загрузить файлы, в один клик выпустить бесплатный SSL-сертификат Let's Encrypt и включить принудительный HTTPS. В китайской версии BaoTa действия почти идентичны; инструкция подходит для серверов на Debian/Ubuntu и CentOS/Rocky/AlmaLinux.

Перед началом установите в панели веб-сервер (Nginx или Apache) и PHP, при необходимости MySQL, и убедитесь, что порты 80 и 443 открыты в системном брандмауэре.

Шаг 1: Направьте домен на IP сервера (DNS)

У регистратора или DNS-провайдера добавьте A-записи для основного домена и для www со значением публичного IPv4-адреса сервера (при использовании IPv6 добавьте и AAAA). Изменения DNS вступают в силу от нескольких минут до нескольких часов. Проверить можно так:

dig +short example.com A
dig +short www.example.com A
nslookup example.com

Если dig нет, установите его: apt install -y dnsutils в Debian / Ubuntu или yum install -y bind-utils в CentOS / Rocky / AlmaLinux. Переходите дальше, только когда возвращаемый IP совпадает с адресом сервера, иначе проверка SSL не пройдёт.

Если домен проксируется через CDN (например, «оранжевое облако»), файловая проверка может не пройти. На время выпуска сертификата переключите запись в режим «только DNS» или используйте проверку через DNS.

Шаг 2: Добавьте сайт в aaPanel

Войдите в панель, откройте раздел «Website» в левом меню и нажмите «Add site»:

  • Домен: по одному в строке, например example.com и www.example.com;
  • Корневой каталог: по умолчанию /www/wwwroot/example.com — обычно его оставляют;
  • База данных: если приложению (например, WordPress) нужна MySQL, создайте её сразу и запишите имя базы, пользователя и пароль;
  • Версия PHP: выберите требуемую приложением или «Static» для статического сайта.

Панель автоматически создаст конфигурацию сайта Nginx. При открытии http://example.com должна появиться стандартная страница панели об успешном создании сайта. Проверить можно и с сервера:

curl -I http://example.com

Шаг 3: Загрузите файлы сайта

В разделе «Files» откройте корневой каталог сайта, загрузите архив и распакуйте его через контекстное меню, либо загрузите файлы по SFTP. Затем исправьте владельца и права доступа, чтобы избежать ошибок доступа:

chown -R www:www /www/wwwroot/example.com
find /www/wwwroot/example.com -type d -exec chmod 755 {} \;
find /www/wwwroot/example.com -type f -exec chmod 644 {} \;

Удалите созданный панелью файл index.html по умолчанию, иначе вместо сайта может по-прежнему отображаться стандартная страница.

Шаг 4: Выпустите бесплатный SSL-сертификат Let's Encrypt

В списке сайтов нажмите «Conf» (или имя сайта), откройте вкладку «SSL» и выберите «Let's Encrypt»:

  • Выберите «File verification», если домен корректно указывает на сервер и порт 80 доступен; при использовании CDN или закрытом порте 80 выберите «DNS verification» и добавьте показанную TXT-запись;
  • Отметьте домены для сертификата (основной и www);
  • Нажмите «Apply» и подождите несколько секунд — сертификат будет автоматически установлен на сайт.

Сертификаты Let's Encrypt действуют 90 дней, и панель автоматически продлевает их с помощью задания планировщика. Срок действия можно проверить командой:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -issuer -dates

Шаг 5: Включите принудительный HTTPS

После установки сертификата включите на вкладке SSL переключатель «Force HTTPS» — все HTTP-запросы будут перенаправляться на HTTPS с кодом 301. Панель добавляет в блок server конфигурации Nginx примерно такое правило; при ручной правке конфигурации его можно добавить самостоятельно:

if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
}

Проверьте перенаправление:

curl -I http://example.com

Ответ 301 Moved Permanently с заголовком Location, указывающим на https, означает, что всё работает. Если в настройках приложения (например, WordPress) адрес сайта всё ещё начинается с http, смените его на https, чтобы избежать предупреждений о смешанном содержимом.

Частые вопросы

Проверка Let's Encrypt не проходит. Что проверить?

Убедитесь, что домен указывает на этот сервер, порт 80 открыт в брандмауэре, доступ к /.well-known/ не блокируется правилами или защитой от хотлинка, а перед сервером нет CDN-прокси. Либо используйте проверку через DNS.

После включения Force HTTPS появляется ошибка «слишком много перенаправлений».

Обычно это происходит, когда в CDN выбран режим SSL «Flexible» и CDN обращается к серверу по HTTP. Переключите режим на «Full» или временно отключите Force HTTPS для диагностики.

Сертификат не продлился автоматически.

Проверьте в разделе «Cron», что задание продления существует и выполняется успешно, и не менялись ли DNS или порт 80 перед окончанием срока. Продлить сертификат можно и вручную на вкладке SSL.

Если проблема не решена, создайте тикет в круглосуточную техническую поддержку IMIDC, указав домен и текст ошибки.

Помог ли вам данный ответ?

Похожие руководства