Когда рубят лес, летят щепки предательства (Авессалом Подводный).

Как исправить ошибку “serve static content from a cookieless domain” в Linux

5 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
10 июля 2018
Как исправить ошибку "serve static content from a cookieless domain" в Linux
Мы покажем вам, как исправить ошибку «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 и т. д. – через статические, куки домена, который помогает повысить скорость загрузки этих ресурсов.

Как исправить ошибку "serve static content from a cookieless domain" в Linux

В этой статье мы рассмотрим, как настроить куки  домена, чтобы разрешить это предупреждающее сообщение. Существует два способа создания файла cookieless: используйте новый домен для обслуживания статического контента или используйте поддомен для обслуживания статического содержимого. Использование субдомена – самый популярный выбор, поскольку для него не требуется покупка нового доменного имени – это тот метод, который мы рассмотрим сегодня. Тем не менее, использование нового домена вместо поддомена может быть сделано для работы достаточно легко с этой статьей. В этом руководстве обсуждается, как настроить cookieless-домен на сервере на базе Linux.

Примечание
Вы  не можете использовать поддомен для обслуживания статического контента, если ваш основной сайт настравает куки с помощью корня домена вместо префикса «www». Если ваш сайт устанавливает с помощью yourdomain.ru, а не www.yourdomain.ru, то использование субдомена для статического контента  невозможно . Это связано с тем, что использование его в корневом домене также применимо ко всем поддоменам.

Шаг 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» важен. Без него статический субдомен не может функционировать.

Примечание
Это работает только для Apache. Если вы используете NGINX, конфигурационный файл из ранее сделан только для статического содержимого, что означает, что он никогда не может принимать файлы cookie.

Шаг 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">

 

Теперь, когда вы пытаетесь получить доступ к своему сайту, он загружает статический контент из поддомена вместо основного домена. Это дает дополнительное преимущество одновременной загрузки контента сайта, когда пользователь обращается к вашему сайту.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 29

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close