Поиск по сайту:
Живая неудача лучше мертвого шедевра (Б. Шоу).

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

10.07.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.

[gn_box title=»Примечание» box_color=»#91beff»]Вы  не можете использовать поддомен для обслуживания статического контента, если ваш основной сайт настравает куки с помощью корня домена вместо префикса «www». Если ваш сайт устанавливает с помощью yourdomain.ru, а не www.yourdomain.ru, то использование субдомена для статического контента  невозможно . Это связано с тем, что использование его в корневом домене также применимо ко всем поддоменам.[/gn_box]

Шаг 1. Создание субдомена

Создание субдомена может быть выполнено с использованием нескольких методов. Если у вас есть панель управления, такая как cPanel или DirectAdmin, есть встроенные утилиты для создания поддоменов легко и быстро. Используйте страницу создания встроенного субдомена для создания субдомена с именем «статический». По завершении вашего субдомена должно выглядеть так:

static.yourdomain.ru

 

После этого попробуйте получить доступ к новому субдомену, введя полный URL-адрес в веб-браузере. Вам следует приветствовать полностью белую страницу.

Если у вас нет панели управления для создания вашего поддомена, это не проблема — просто следуйте этим следующим двум шагам. Чтобы создать субдомен без панели управления, вам нужно будет отредактировать файл конфигурации вашего веб-сайта. Расположение файла конфигурации, который вам нужно отредактировать или создать, зависит от того, какой пакет программного обеспечения веб-сервера вы используете. В этом учебнике мы рассмотрим как NGINX, так и Apache. Однако сначала вам нужно создать новую папку, которая будет содержать все файлы сайта в новом субдомене. / var / www / — хорошее место для создания новой папки — назовите ее «static.yourdomain.ru».

[gn_box title=»Примечание» box_color=»#91beff»]Вы будете должны поместить ваши статические файлы с вашего сайта в эту папку. Без этого  ваш статический контент не может быть загружен из статического субдомена,[/gn_box]

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

[gn_box title=»Примечание» box_color=»#91beff»]Это работает только для Apache. Если вы используете NGINX, конфигурационный файл из ранее сделан только для статического содержимого, что означает, что он никогда не может принимать файлы cookie.[/gn_box]

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:

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

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

**ссылки nofollow

Читайте также

Спасибо!

Теперь редакторы в курсе.