Мы покажем вам, как исправить ошибку «serve static content from a cookieless domain». При использовании инструмента анализатора веб-сайтов, такого как PageSpeed Insights, GTMetrix, Pingdom или Uptrends, часто появляется предупреждение, в котором говорится: «serve static content from a cookieless domain», это означает, что ваш веб-сервер настраивает файлы cookie – это заставляет все будущие HTTP-запросы включать этот файл cookie, создавая нежелательный сетевой трафик. Это, в свою очередь, замедляет скорость вашего сайта, когда пользователь пытается получить к нему доступ. Если вам нужно, чтобы ваш сайт был как можно быстрее, переход в домен без cookie – это решение. Домен не принимает cookies из браузеров, что снижает общий сетевой трафик. Цель состоит в том, чтобы обслуживать весь статический контент – например, изображения, javascript, CSS и т. д. – через статические, куки домена, который помогает повысить скорость загрузки этих ресурсов.
В этой статье мы рассмотрим, как настроить куки домена, чтобы разрешить это предупреждающее сообщение. Существует два способа создания файла cookieless: используйте новый домен для обслуживания статического контента или используйте поддомен для обслуживания статического содержимого. Использование субдомена – самый популярный выбор, поскольку для него не требуется покупка нового доменного имени – это тот метод, который мы рассмотрим сегодня. Тем не менее, использование нового домена вместо поддомена может быть сделано для работы достаточно легко с этой статьей. В этом руководстве обсуждается, как настроить cookieless-домен на сервере на базе Linux.
Шаг 1. Создание субдомена
Создание субдомена может быть выполнено с использованием нескольких методов. Если у вас есть панель управления, такая как cPanel или DirectAdmin, есть встроенные утилиты для создания поддоменов легко и быстро. Используйте страницу создания встроенного субдомена для создания субдомена с именем «статический». По завершении вашего субдомена должно выглядеть так:
static.yourdomain.ru
После этого попробуйте получить доступ к новому субдомену, введя полный URL-адрес в веб-браузере. Вам следует приветствовать полностью белую страницу.
Если у вас нет панели управления для создания вашего поддомена, это не проблема – просто следуйте этим следующим двум шагам. Чтобы создать субдомен без панели управления, вам нужно будет отредактировать файл конфигурации вашего веб-сайта. Расположение файла конфигурации, который вам нужно отредактировать или создать, зависит от того, какой пакет программного обеспечения веб-сервера вы используете. В этом учебнике мы рассмотрим как NGINX, так и Apache. Однако сначала вам нужно создать новую папку, которая будет содержать все файлы сайта в новом субдомене. / var / www / – хорошее место для создания новой папки – назовите ее «static.yourdomain.ru».
Создание субдомена в Apache
Чтобы создать субдомен с помощью Apache, нам нужно добавить несколько дополнительных строк в существующую конфигурацию веб-сайта. Расположение файла конфигурации зависит от того, какой дистрибутив Linux вы используете. Вот путь к файлу для систем на базе RedHat:
/etc/httpd/conf.d/static.yourdomain.conf
и для систем на базе Debian:
/etc/httpd/sites-available/static.yourdomain.conf
Откройте файл конфигурации своего веб-сайта, используя предпочтительный текстовый редактор, и добавьте следующий абзац в конец файла:
<VirtualHost *:80> ServerName static.yourdomain.ru DocumentRoot /var/www/static.yourdomain.ru ErrorLog /your/error/log/path CustomLog /your/requested/log/path combined </VirtualHost>
Замените «yourdomain» своим доменным именем и укажите пути к их соответствующим каталогам в системе. Когда это будет сделано, вы можете перезапустить Apache следующей командой:
service httpd restart
Создание субдомена в NGINX
С NGINX нам нужно создать полный файл конфигурации для этого нового поддомена. Итак, создайте и откройте новый файл в /etc/nginx/sites – доступный с помощью вашего предпочтительного текстового редактора и откройте файл static.yourdomain.ru.conf. Затем добавьте следующее в свой новый файл. (Не забудьте изменить «yourdomain» на ваше доменное имя):
server { listen 80; server_name static.yourdomain.ru; log_not_found off; error_log off; fastcgi_hide_header Set-Cookie; root /var/www/static.yourdomain.ru; location / { if ($request_filename ~ "\.(css|js|jpg|jpeg|gif|ico|png|bmp|pict|csv|doc|pdf|pls|ppt|tif|tiff|eps|ejs|swf|midi|mid|ttf|eot|woff|otf|svg|svgz|webp|docx|xlsx|xls|pptx|ps|class|jar|woff2|less|scss)$") { add_header Pragma "public"; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; add_header Access-Control-Allow-Origin *; access_log off; expires 1M; break; } return 302 http://www.yourdomain.ru$request_uri; } }
Сохраните этот файл и выйдите из текстового редактора. Следующий шаг – создать символическую ссылку (символическую ссылку), чтобы включить эту конфигурацию в NGINX. Вы можете сделать это со следующей строкой:
ln -s /etc/sites-available/static.yourdomain.ru.conf /etc/sites-enabled/static.yourdomain.ru.conf
Теперь перезапустите NGINX, чтобы изменения вступили в силу:
service nginx restart
Шаг 2. Настройте параметры DNS.
Теперь, когда поддомен был успешно настроен, теперь нам нужно настроить наши записи DNS, чтобы использовать этот поддомен в качестве псевдонима. Мы сделаем это, используя запись CNAME. Используя клиентские инструменты, которые предоставляет ваш хостинг-провайдер, вы можете легко создать запись CNAME, которая указывает ваш поддомен в ваш основной домен. Или, если у вас нет панели управления для вашего сервера, вы можете вручную изменить свои файлы зон. Вам нужно добавить строку в файл зоны, который создает псевдоним в ваш основной домен. Вот как это должно выглядеть:
static.yourdomain.ru. IN CNAME yourdomain.ru.
Шаг 3. Настройте файл .htaccess.
Теперь вам нужно добавить дополнительную строку в ваш файл .htaccess, найденный в корне вашего файла cookieless. Итак, используя ваш предпочтительный текстовый редактор, откройте файл .htaccess в папке, где находится ваш текущий веб-сайт, и добавьте эту строку в конец:
CookieDomain www.yourdomain.ru
Здесь префикс «www» важен. Без него статический субдомен не может функционировать.
Шаг 4: Настройте свой сайт.
Теперь, когда основная настройка зделана, вам нужно изменить ссылки на своем сайте, чтобы указать на новый статический субдомен. Именно с этого момента он получит свои ресурсы. Например, вы изменили бы это:
<link rel="stylesheet" type="text/css" href="/css/main.css">
на следующее:
<link rel="stylesheet" type="text/css" href="http://static.yourdomain.com/css/main.css">
Теперь, когда вы пытаетесь получить доступ к своему сайту, он загружает статический контент из поддомена вместо основного домена. Это дает дополнительное преимущество одновременной загрузки контента сайта, когда пользователь обращается к вашему сайту.