Поддомейни, PHP, SSL и защитна стена

Сайтовете на един домейн

В таба „Поддомейни“ на домейна са всички сайтове под него:

  • Основният домейн (example.com) е показан първи.
  • Поддомейните (blog.example.com, shop.example.com и т.н.) са отделни сайтове с отделни папки.

Всеки сайт има собствена PHP версия и собствена настройка за SSL. Поддомейн не наследява настройките на основния домейн.

Добавяне на поддомейн

  1. Отворете таба „Поддомейни“ и натиснете „Добавяне на поддомейн“.
  2. Въведете краткото име, например blog. Позволени са малки латински букви, цифри и тирета.
  3. Изберете PHP версия и SSL сертификат.

Поддомейнът започва да работи до няколко минути. Ако домейнът използва нашите DNS сървъри, записът за поддомейна се създава автоматично.

Броят поддомейни зависи от хостинг плана ви.

Допълнителни имена (псевдоними)

Един сайт може да отговаря и на други имена, например www.example.com за основния домейн. В настройките на сайта, в „Допълнителни имена (псевдоними)“, добавете по едно на ред с „+ Добави име“ – само етикета (www), домейнът на сайта се добавя сам. Не е нужно за тях да създавате отделен поддомейн.

  • Името е винаги в домейна на сайта и може да е само на един сайт.
  • Ако домейнът е на нашите DNS сървъри, името получава DNS запис автоматично (и го губи, когато го махнете).
  • Цял друг домейн (например example.bg да показва сайта на example.com) не става с псевдоним – той има свой сайт. В неговите настройки задайте пренасочване към https://example.com (виж „Пренасочване на сайт“).

PHP версия

Предлагаме версиите, които PHP още поддържа с поправки по сигурността:

  • 8.4 – по подразбиране за новите сайтове, поддръжка до 31.12.2028;
  • 8.5 – най-новата, поддръжка до 31.12.2029.

По-стари версии не предлагаме – сайт на PHP без поправки по сигурността е най-честият път за пробив. Преди края на поддръжката на версия ще ви помолим да преминете на по-нова.

Версията се сменя от настройките на всеки сайт и се прилага до няколко минути. Преди да смените версията на работещ сайт, проверете дали приложението ви (WordPress, Joomla и т.н.) я поддържа.

Сайт може да е и без PHP – за статичен сайт (само HTML, CSS, JavaScript и файлове). Тогава за него не работи PHP, а .php файловете му не се отварят (иначе изходният им код би се показал на посетителите). Приложения като WordPress искат PHP; AI сайтът е статичен и работи и без него.

PHP настройки на сайта

Настройките на PHP по подразбиране са: памет за един скрипт 512 MB, качване на файлове до 128 MB. Сайтът може да ги промени сам с файл .user.ini в папката си (през файловия мениджър или SFTP), например:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
display_errors = Off
  • Файлът важи за папката, в която е, и за подпапките ѝ; най-често се слага в основната папка на сайта.
  • PHP го прочита наново до 5 минути след промяна.
  • Може да се сменят настройките, които PHP позволява на сайт (memory_limit, upload_max_filesize, post_max_size, max_execution_time, max_input_vars, display_errors и др.). Ограниченията за сигурност (open_basedir, забранените функции, логът на грешките) не могат да се променят.
  • Таваните на плана остават: колкото и да е memory_limit, целият PHP на акаунта не може да използва повече памет от плана; качване над около 140 MB спира защитната стена.
  • display_errors = On – само докато търсите грешка: показва пътища и подробности на посетителите. Грешките така или иначе се записват в /logs/php/error.log.
  • Посетителите на сайта не могат да отворят .user.ini.

Защитна стена (WAF)

Всеки сайт има защитна стена за уеб приложения – ModSecurity със стандартните правила на OWASP (Core Rule Set). Тя разпознава типичните атаки (SQL injection, XSS, опити за достъп до системни файлове и др.) и ги спира, преди да стигнат до сайта. Изборът е за всеки сайт поотделно (при редакция на сайта):

  • Включена (по подразбиране) – подозрителната заявка получава страница „Forbidden“ (403) с номер за справка. На нов сървър защитата първо само записва, докато се съберат данни от истински трафик.
  • Само записва – нищо не се спира, но всичко, което би било спряно, се записва.
  • Изключена – без защитна стена.

Всяко сработване се записва в лога на грешките на сайта (logs/<сайт>-error.log) заедно с номера за справка и номера на правилото. За WordPress, Drupal и Nextcloud, инсталирани от панела, са включени изключенията на правилата за тях.

Ако защитната стена спира нещо, което сайтът ви използва, изберете „Само записва“ и ни пишете с номера за справка от страницата за грешка – можем да изключим конкретното правило само за вашия сайт.

SSL сертификати (HTTPS)

За всеки сайт изберете едно от следните:

  • Let's Encrypt. Безплатен сертификат, на който браузърите вярват. Препоръчваме го за всички сайтове. Издава се и се подновява автоматично.
  • Без SSL. Сайтът работи само по HTTP.
  • Самоподписан. Показва се само ако сме го включили за акаунта ви по заявка, например за сайт зад Cloudflare в режим „Full“. Браузърите не му вярват.

Със сертификат от Let's Encrypt посетителите по HTTP автоматично се пренасочват към HTTPS.

За да бъде издаден сертификат от Let's Encrypt, името на сайта трябва вече да сочи към нашия сървър. С нашите DNS сървъри това е автоматично. Ако ползвате чужди DNS сървъри, A/AAAA записът там трябва да сочи към нас. Същото важи за всички псевдоними на сайта.

Колоната „статус на сертификата“ показва:

Статус Значение
обработва се Сертификатът се издава за първи път. Обикновено отнема няколко минути.
активен Сертификатът е валиден.
автоматично подновяване Сертификатът е валиден и вече се заявява нов.
изтича скоро Подновяването не успява. Проверете дали името и псевдонимите още сочат към нас.
изтекъл Сертификатът не е валиден и браузърите показват предупреждение.

Ако сертификатът остане в „обработва се“ повече от няколко часа, почти винаги причината е DNS. Проверете дали всички имена на сайта сочат към нашия сървър.

Собствен SSL сертификат

Ако имате сертификат от друг доставчик (например с разширена проверка на фирмата), качете го от „Собствен сертификат…“ в списъка на сайтовете или в настройките на сайта. Поставете:

  • сертификата на сайта и след него междинните сертификати (веригата), в PEM формат (-----BEGIN CERTIFICATE-----);
  • частния ключ, също в PEM, без парола (RSA или ECDSA).

Приемаме сертификата само ако ключът е неговият, веригата стига до издател, на когото браузърите вярват, покрива всички имена на сайта (и псевдонимите) и е валиден поне още ден. След записа влиза в сила до минута, а посетителите по HTTP се пренасочват към HTTPS. Ключът не се показва повече – при подновяване просто качете новия сертификат на същото място.

Собственият сертификат не се подновява автоматично. 30 и 7 дни преди края му ще ви пишем. За да минете обратно на безплатния Let's Encrypt, изберете го в настройките на сайта.

Пренасочване на сайт

Сайт може само да пренасочва посетителите към друг адрес – например стар домейн към новия. В настройките на сайта попълнете „Пренасочи към“ (https://www.example.com) и изберете:

  • Постоянно (301) – за търсачките адресът е сменен окончателно; временно (302) – за кратко.
  • Запази пътя – стар-сайт/страница?x=1 отива на нов-адрес/страница?x=1; без отметката всичко отива на самия адрес.

Файловете на сайта остават, но не се показват, докато е пренасочен. Пренасочването работи и по HTTPS – сайтът запазва своя сертификат. Изтрийте адреса, за да стане отново обикновен сайт.