Ограничения брандмауэра для данных с веб-браузеров и мобильных приложений: различия между версиями
ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
Строка 102: | Строка 102: | ||
* <code>block</code>: в это время не следует пытаться выполнить инъекцию. | * <code>block</code>: в это время не следует пытаться выполнить инъекцию. | ||
|- | |- | ||
|X-ruxit-JS-Agent | |<code>X-ruxit-JS-Agent</code> | ||
|Подтверждает, что был введен RUM JavaScript, чтобы избежать дублирования. | |Подтверждает, что был введен RUM JavaScript, чтобы избежать дублирования. | ||
Строка 111: | Строка 111: | ||
* <code>block</code>: в это время не следует пытаться выполнить инъекцию. | * <code>block</code>: в это время не следует пытаться выполнить инъекцию. | ||
|- | |- | ||
|x-dtHealthCheck | |<code>x-dtHealthCheck</code> | ||
|Содержит результаты диагностики внедрения RUM JavaScript, необходимой для анализа технической поддержкой. | |Содержит результаты диагностики внедрения RUM JavaScript, необходимой для анализа технической поддержкой. | ||
|- | |- | ||
|x-dtAgentId | |<code>x-dtAgentId</code> | ||
|Если проверка работоспособности RUM включена, любой задействованный модуль кода ЕА добавляет сюда свой идентификатор. Устанавливается для ответов на специальные запросы. | |Если проверка работоспособности RUM включена, любой задействованный модуль кода ЕА добавляет сюда свой идентификатор. Устанавливается для ответов на специальные запросы. | ||
|- | |- | ||
|x-dtInjectedServlet | |<code>x-dtInjectedServlet</code> | ||
| | |Содержит полное имя введенного сервлета или фильтра. | ||
|- | |- | ||
| | |<code>Set-Cookie</code> | ||
| | |Устанавливает файл cookie состояния сеанса Единого Агента. | ||
|- | |- | ||
| | |<code>ETag</code> | ||
| | |Единый агент добавляет пользовательскую строку к исходному <code>ETag</code> заголовку ответа, чтобы отслеживать изменения в конфигурации приложения. | ||
|- | |- | ||
| | |<code>Last-modified</code> | ||
| | |Если заголовок <code>ETag</code> ответа обрабатывается, Единый Агент также вычитает 1 секунду из исходного значения этого заголовка. Устанавливается для ответов на специальные запросы. | ||
|- | |- | ||
| | |<code>Content-Length</code> | ||
| | |Адаптировано после внедрения HTML. Устанавливается для ответов на специальные запросы. | ||
|- | |- | ||
| | |<code>Vary</code> | ||
| | |Адаптировано во время внедрения HTML в сжатые ответы. Устанавливается для ответов на специальные запросы. | ||
|- | |- | ||
| | |<code>Content-Encoding</code> | ||
| | |Адаптировано во время внедрения HTML в сжатые ответы. | ||
|- | |- | ||
| | |<code>Content-Type</code> | ||
| | |Устанавливается для ответов на специальные запросы. | ||
|- | |- | ||
| | |<code>Access-Control-Allow-Origin</code> | ||
| | |Устанавливается для ответов на специальные запросы. | ||
|- | |||
|<code>Cache-Control</code> | |||
|Устанавливается для ответов на специальные запросы. | |||
|- | |||
|<code>Server-Timing</code> | |||
|Используется для передачи информации, которая имеет отношение к корреляции RUM. | |||
|- | |||
|<code>Timing-Allow-Origin</code> | |||
|Позволяет RUM JavaScript получать доступ к информации, которая имеет отношение к корреляции RUM, в случае запросов из разных источников. | |||
|- | |||
|<code>Access-Control-Allow-Headers</code> | |||
|Устанавливается для ответов на специальные запросы. | |||
|- | |||
|<code>Access-Control-Allow-Methods</code> | |||
|Устанавливается для ответов на специальные запросы. | |||
|- | |||
|<code>Access-Control-Max-Age</code> | |||
|Устанавливается для ответов на специальные запросы. | |||
|} | |} | ||
== Файлы cookie == | |||
RUM использует следующие файлы cookie. Все это должно быть доступно для Ключ-АСТРОМ. | |||
{| class="wikitable" | |||
|+ | |||
!Cookie | |||
!Максимальный размер | |||
!Цель | |||
|- | |||
|<code>dtCookie</code> | |||
|Нет установленного ограничения, но обычно менее 100 B | |||
|Отслеживает посещение по нескольким запросам. | |||
|- | |||
|<code>dtLatC</code> | |||
|5 B | |||
|Измеряет задержку сервера для мониторинга производительности. | |||
|- | |||
|<code>dtPC</code> | |||
|58 B | |||
|Определяет надлежащие конечные точки для передачи маяка; включает идентификатор сеанса для корреляции. | |||
|- | |||
|<code>dtSa</code> | |||
|Максимальная длина URL-адреса | |||
|Служит промежуточным хранилищем для действий, охватывающих страницы. | |||
|- | |||
|<code>dtValidationCookie</code> | |||
|Длина <code>dTValidationCookieValue</code> строки, то есть <code>23</code> | |||
|Определяет домен верхнего уровня. | |||
|- | |||
|<code>dtDisabled</code> | |||
|4 B | |||
|Определяет, следует ли деактивировать RUM JavaScript из-за затрат и контроля трафика или предотвращения перегрузки. | |||
|- | |||
|<code>rxVisitor</code> | |||
|45 B | |||
|Содержит идентификатор посетителя для сопоставления сеансов. | |||
|- | |||
|<code>rxvt</code> | |||
|27 B | |||
|Включает временную метку тайм-аута сеанса. | |||
|} | |||
== Мобильный RUM == | |||
Единый Агент для мобильных устройств использует <code>x-dynatrace</code> заголовок для пометки HTTP-запросов. Ключ-АСТРОМ использует этот заголовок, чтобы связать мобильную часть веб-запроса с сервисной частью, захваченной другим Единым Агентом. | |||
Для гибридных приложений файл <code>dtAdk</code> cookie позволяет присоединяться к сеансу из Единого Агента для мобильных устройств и сеансу из RUM JavaScript, чтобы эти сеансы отображались как один сеанс, в то время <code>dtAdkSettings</code> как файл cookie используется для синхронизации настроек между Единым Агентом для мобильных устройств и RUM JavaScript. | |||
<code>/mbeacon</code> это сигнал монитора, который Единый Агент для мобильных устройств отправляет обратно в Ключ АСТРОМ, если данные передаются через Активный Шлюз. Если данные отправляются другому Единому агенту, сигнал монитора будет<code>/dtmb</code>. |
Версия 16:56, 7 декабря 2022
Мониторинг пользовательских данных использует технологии HTTP для отправки данных о производительности из браузеров конечных пользователей в Ключ-АСТРОМ. Для этого RUM JavaScript внедряется на веб-страницы приложения. Этот тег или фрагмент кода взаимодействует с Ключ-АСТРОМ. Однако вы должны проверить конфигурацию своих брандмауэров, прокси-серверов и веб-серверов, чтобы обеспечить прохождение всех необходимых данных.
Запросы
Запросы
Для полноценной работы анализа пользовательских данных в Ключ-АСТРОМ должны быть доставлены следующие HTTP-запросы:
ruxitagentjs_
используется для JavaScript при автоматической инъекции — имя тега может содержать дополнительную информацию, такую как активные модули кода и версия тега. Безагентный способ требует использованияruxitagent_
.
/rb_<id>
и/bf
или/bf_<id>
являются сигналами монитора, которые RUM JavaScript отправляет обратно в Ключ-АСТРОМ.- Монитор использует параметры запроса. Для предыдущей версии протокола beacon 2 они
app
,flavor
,format
,referer
,session
,svrid
,type
,visitID
,size
,zip
,va
,tt
,ns
, и даже больше. Для нового протокола beacon версии 3 ониtype
,svrid
,rf
,sn
,app
,dbg
,flavor
,vi
,modifiedSince
,bp
,contentType
,crc
,v
,end
. POST
Тело содержит полезную нагрузку. Полезная нагрузка отправляется сtext/plain
типом содержимого. Для воспроизведения сеансаapplication/octet-stream
также можно использовать тип содержимого.
- Монитор использует параметры запроса. Для предыдущей версии протокола beacon 2 они
Заголовки
RUM использует следующие HTTP-заголовки. Все эти заголовки должны иметь доступ к Ключ-АСТРОМ.
Заголовки запросов
Заголовок | Цель |
---|---|
x-dynatrace
|
Используется для объединения транзакций в заголовках HTTP. Устанавливается Единым Агентом для соединения веб-серверов. Убедитесь, что сетевые компоненты, такие как брандмауэры и маршрутизаторы, не настроены на удаление этих заголовков. Неправильная конфигурация может потенциально привести к повреждению распределенных трассировок. Некоторые сетевые компоненты отключают такие запросы и выдают 403 ошибку HTTP, поэтому необходимо настроить эти компоненты для приема x-dynatrace заголовка.
|
x-dynatrace-application
|
Содержит идентификатор приложения RUM, домен cookie и правило внедрения (noop , auto , before , или after ). Также содержит шаблон внедрения, когда injectionRule=after или injectionRule=before .
Используется в случае, если между браузером пользователя и исходным процессом, который доставляет страницу, есть какой-то прокси. |
x-dynatrace-origin-url
|
Сохраняет исходный URL-адрес запроса в случае перезаписи URL. |
X-dynaTrace-RequestState
|
Отслеживает глубину дерева подпутей, чтобы избежать бесконечных распределенных трассировок. |
x-dtpc
|
Определяет надлежащие конечные точки для передачи маяка; включает идентификатор сеанса для корреляции. |
x-dtreferer
|
Содержит ссылку на страницу для действия и улучшает результаты корреляции. |
x-dtc
|
Содержит информацию для корреляции временных интервалов между источниками. |
Cookie
|
Устанавливает dtCookie cookie на случай, если HTTP-запрос их не содержит.
|
X-Ruxit-Forwarded-For
|
Используется для отслеживания сценариев прокси с помощью модуля кода NGINX. |
X-ruxit-Apache-ServerNamePorts
|
Используется модулем Apache code для синхронизации именования служб с модулем PHP code. |
X-ruxit-Disposition
|
Используется модулем кода IIS для удаления .Вложенные пути к модулю сетевого кода. |
Accept-Encoding
|
Отбрасывается модулем Apache code во время тонкой настройки поведения HTML-инъекции. |
Content-Encoding
|
Отбрасывается во время тонкой настройки поведения HTML-инъекции. |
If-None-Match
|
Отбрасывается при подавлении кэширования. |
If-Not-Modified-Since
|
Отбрасывается при подавлении кэширования. |
If-Match
|
Изменяется при подавлении кэширования. |
If-Range
|
Изменяется при подавлении кэширования. |
tracecontext
|
Используется для маркировки W3C. |
referer
|
Содержит адрес предыдущей веб-страницы, с которой была перейдена ссылка на запрашиваемую в данный момент страницу. |
user-agent
|
Используется для обнаружения браузера и операционной системы. |
x-host
|
Содержит информацию о хосте для доменов, отличных от http. |
Заголовки ответов
Заголовок | Цель |
---|---|
X-OneAgent-JS-Injection
|
Подтверждает, что был введен RUM JavaScript, чтобы избежать дублирования.
Имеет одно из следующих значений:
|
X-ruxit-JS-Agent
|
Подтверждает, что был введен RUM JavaScript, чтобы избежать дублирования.
Имеет одно из следующих значений:
|
x-dtHealthCheck
|
Содержит результаты диагностики внедрения RUM JavaScript, необходимой для анализа технической поддержкой. |
x-dtAgentId
|
Если проверка работоспособности RUM включена, любой задействованный модуль кода ЕА добавляет сюда свой идентификатор. Устанавливается для ответов на специальные запросы. |
x-dtInjectedServlet
|
Содержит полное имя введенного сервлета или фильтра. |
Set-Cookie
|
Устанавливает файл cookie состояния сеанса Единого Агента. |
ETag
|
Единый агент добавляет пользовательскую строку к исходному ETag заголовку ответа, чтобы отслеживать изменения в конфигурации приложения.
|
Last-modified
|
Если заголовок ETag ответа обрабатывается, Единый Агент также вычитает 1 секунду из исходного значения этого заголовка. Устанавливается для ответов на специальные запросы.
|
Content-Length
|
Адаптировано после внедрения HTML. Устанавливается для ответов на специальные запросы. |
Vary
|
Адаптировано во время внедрения HTML в сжатые ответы. Устанавливается для ответов на специальные запросы. |
Content-Encoding
|
Адаптировано во время внедрения HTML в сжатые ответы. |
Content-Type
|
Устанавливается для ответов на специальные запросы. |
Access-Control-Allow-Origin
|
Устанавливается для ответов на специальные запросы. |
Cache-Control
|
Устанавливается для ответов на специальные запросы. |
Server-Timing
|
Используется для передачи информации, которая имеет отношение к корреляции RUM. |
Timing-Allow-Origin
|
Позволяет RUM JavaScript получать доступ к информации, которая имеет отношение к корреляции RUM, в случае запросов из разных источников. |
Access-Control-Allow-Headers
|
Устанавливается для ответов на специальные запросы. |
Access-Control-Allow-Methods
|
Устанавливается для ответов на специальные запросы. |
Access-Control-Max-Age
|
Устанавливается для ответов на специальные запросы. |
Файлы cookie
RUM использует следующие файлы cookie. Все это должно быть доступно для Ключ-АСТРОМ.
Cookie | Максимальный размер | Цель |
---|---|---|
dtCookie
|
Нет установленного ограничения, но обычно менее 100 B | Отслеживает посещение по нескольким запросам. |
dtLatC
|
5 B | Измеряет задержку сервера для мониторинга производительности. |
dtPC
|
58 B | Определяет надлежащие конечные точки для передачи маяка; включает идентификатор сеанса для корреляции. |
dtSa
|
Максимальная длина URL-адреса | Служит промежуточным хранилищем для действий, охватывающих страницы. |
dtValidationCookie
|
Длина dTValidationCookieValue строки, то есть 23
|
Определяет домен верхнего уровня. |
dtDisabled
|
4 B | Определяет, следует ли деактивировать RUM JavaScript из-за затрат и контроля трафика или предотвращения перегрузки. |
rxVisitor
|
45 B | Содержит идентификатор посетителя для сопоставления сеансов. |
rxvt
|
27 B | Включает временную метку тайм-аута сеанса. |
Мобильный RUM
Единый Агент для мобильных устройств использует x-dynatrace
заголовок для пометки HTTP-запросов. Ключ-АСТРОМ использует этот заголовок, чтобы связать мобильную часть веб-запроса с сервисной частью, захваченной другим Единым Агентом.
Для гибридных приложений файл dtAdk
cookie позволяет присоединяться к сеансу из Единого Агента для мобильных устройств и сеансу из RUM JavaScript, чтобы эти сеансы отображались как один сеанс, в то время dtAdkSettings
как файл cookie используется для синхронизации настроек между Единым Агентом для мобильных устройств и RUM JavaScript.
/mbeacon
это сигнал монитора, который Единый Агент для мобильных устройств отправляет обратно в Ключ АСТРОМ, если данные передаются через Активный Шлюз. Если данные отправляются другому Единому агенту, сигнал монитора будет/dtmb
.