Как сравнить прямой путь и Teleport App Access по времени первого события, не отключая TLS и аутентификацию: матрица upstream, proxy и text/event-stream.
Измеряйте не общее время страницы
Для потока важны три отметки: начало запроса, получение заголовков и первое завершённое событие. Общая длительность SSE почти бесконечна и мало что объясняет. Снимите эти отметки на прямом адресе приложения и через Teleport App Access при одном и том же безвредном тестовом событии. Не сравнивайте разные нагрузки и не публикуйте cookie, токены или внутренние имена.
Постройте четыре контрольных пути
Матрица включает прямой обычный HTTP-ответ, прямой SSE, короткий ответ через App Access и SSE через App Access. Если задерживается только последний, обычная доступность приложения и аутентификация подтверждены отдельно. Если медленны оба проксированных ответа, проблема шире потока. Если тормозит и прямой SSE, сначала исследуйте upstream, а не защитный слой Teleport.
Проверьте контракт потока
Стандарт WHATWG определяет EventSource и MIME-тип text/event-stream, а события формируются по мере получения строк потока. Зафиксируйте Content-Type, отсутствие неожиданного конечного Content-Length и границы пустой строки между событиями. Это проверяет форму ответа, но не требует копировать пользовательские данные. Используйте синтетические идентификаторы событий и короткие нейтральные payload.
Отделите компоненты Teleport
Официальная схема Teleport проводит запрос через Proxy Service к Application Service и далее к веб-приложению, после чего ответ идёт обратно. Поэтому в отчёте нужны версии Proxy и Application Service, режим развертывания и временные метки на стороне upstream. Не объявляйте виновным первый видимый proxy: буфер может находиться в приложении, промежуточном балансировщике или обратном пути.
Остановитесь до ослабления защиты
Достаточный пакет содержит четыре строки матрицы, заголовки без секретов, время до первого события и версии компонентов. Не отключайте TLS, SSO, проверку сертификатов или App Access в production ради сравнения. Прямой контроль допустим только в уже разрешённой тестовой границе. Если такой границы нет, передайте владельцу upstream минимальный сценарий и сравнивайте его серверные отметки. Для повторяемости укажите размер и частоту синтетического события: крупная пачка и одна короткая строка создают разные условия и не должны смешиваться.
Материал подготовлен редакцией VOne с применением ИИ для временной матрицы; архитектура App Access и контракт SSE проверены по официальным первичным источникам, issue использован как сигнал.
Источники и проверка
- Teleport: Protect a Web Application проверено 2026-08-11
- WHATWG HTML: Server-sent events проверено 2026-08-11
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.