Настройка домена cookie RUM для веб-приложений
Ключ-АСТРОМ Real User Monitoring использует HTTP-cookies для группировки действий пользователя в сеансы и связывания их с соответствующими распределёнными трассировками. Браузеры включают куки в заголовок запроса Cookie только в том случае, если URL-адрес запроса попадает в область действия куки, что определяется атрибутами Domain и Path.
Ключ-АСТРОМ всегда устанавливает атрибут Path cookie-файлов RUM равным /, чтобы область действия cookie охватывала все URL-пути в пределах домена. Этот атрибут Domain определяется автоматически по умолчанию, но его также можно настроить вручную для каждого приложения (см. ниже).
Автоматическое определение домена cookie
Если вы не настроили домен cookie, Ключ-АСТРОМ определит его автоматически. Ключ-АСТРОМ выбирает эффективный домен верхнего уровня плюс один (eTLD+1) URL-адреса запроса. Например, Ключ-АСТРОМ выбирает домен cookie example.com для домена www.example.com или домен cookie example.co.uk для домена www.example.co.uk. Благодаря этому выбору Ключ-АСТРОМ может фиксировать непрерывный сеанс, даже если ваши пользователи посещают несколько поддоменов при взаимодействии с вашими приложениями, например, при переходе с www.example.com на shop.example.com.
Домен cookie определяется либо на стороне сервера с помощью ЕдиногоАгента, либо на стороне клиента с помощью RUM JavaScript, в зависимости от того, какой из них первым фиксирует взаимодействие пользователя с вашим приложением. Если RUM JavaScript внедряется автоматически, домен cookie обычно определяет ЕдиныйАгент. Однако, когда браузер загружает страницу из кэша, домен cookie определяется RUM JavaScript.
Возможные проблемы с автоматическим определением домена cookie
OneAgent использует результат определения имени хоста в качестве отправной точки при определении домена cookie. Если имеется неинструментированный компонент, который перезаписывает часть URL-адреса, относящуюся к хосту, для автоматического определения домена cookie крайне важно правильно настроить определение имени хоста. Подробнее см. в разделе « Что делать, если неинструментированный компонент перезаписывает части URL-адреса?»
Ручная настройка домена cookie
В большинстве случаев нет необходимости настраивать домен cookie вручную. Однако есть два случая, когда это необходимо:
- Вам необходимо разделить действия пользователей разных поддоменов на отдельные пользовательские сеансы.
- Автоматическое определение домена cookie не работает, поскольку неинструментированный компонент перезаписывает часть URL-адреса, относящуюся к хосту, и не передаёт исходную информацию о хосте в заголовке запроса. Предпочтительным решением является настройка компонента на добавление такого заголовка (см. инструкции в разделе «Что делать, если неинструментированный компонент перезаписывает части URL-адреса?»). Однако ручная настройка домена cookie также является возможным решением.
Настройте домен cookie вручную
Чтобы настроить домен cookie
- Перейдите в Веб-приложения.
- Выберите приложение, которое вы хотите настроить.
- В правом верхнем углу страницы обзора приложения выберите Дополнительно ( … ) > Редактировать.
- В настройках приложения выберите Внедрение > Файлы cookie.
- В поле Домен, который будет использоваться для размещения cookie-файлов, введите требуемый домен.
Возможные проблемы с ручной настройкой
Настроенный домен cookie — это публичный суффикс
Браузеры не позволяют устанавливать файлы cookie с атрибутом Domain, выходящим за пределы одной организации. Поэтому установка домена cookie на публичный суффикс не работает.
Несколько доменов без общего eTLD+1 отображаются в настроенном приложении.
Поскольку домен cookie настраивается для каждого приложения, все домены, которые сопоставляются с вашим приложением, должны иметь как минимум общий eTLD+1, чтобы разрешить определение домена cookie.
Например, вы не сможете вручную настроить домен cookie для приложения, где отображаются оба домена : www.example.com и www.example.co.uk. Если вы выберете домен cookie example.com, браузер будет отклонять файлы cookie RUM при запросах к www.example.co.uk.
Перекрывающиеся домены cookie
Если вы вручную настраиваете домен cookie для всех или некоторых своих приложений, вы должны убедиться, что домены cookie ваших приложений не перекрываются.
Рассмотрим следующий пример. Домен www.example.com сопоставлен с приложением Example, а домен shop.example.com — с приложением Shopping. По умолчанию домен cookie example.com определяется автоматически для обоих доменов. Если вы установите домен cookie shop.example.com для приложения Shopping, а ваши пользователи будут переключаться между двумя приложениями, возникнут неоднозначные ситуации, поскольку файлы cookie RUM для приложения Example имеют тот же домен cookie example.com и, следовательно, применимы и к приложению Shopping, у которого есть другой набор файлов cookie RUM с этим доменом shop.example.com. При такой конфигурации Ключ-АСТРОМ может случайным образом разбивать собранные данные RUM на короткие пользовательские сеансы и действия пользователей, а распределенные трассировки могут не быть связаны ожидаемым образом.