K6 Пропустить проверку TLS не работает. Ошибка при проверке сертификата: x509

Я пытался пропустить проверку TLS в сценариях K6, но получаю ошибку ниже

msg = «Не удалось отправить данные временных рядов в конечную точку» error = «Ошибка HTTP-запроса POST: сообщение «https://.../api/v1/push»: tls: не удалось проверить сертификат: x509 : сертификат, подписанный неизвестным органом" output="Удаленная запись Prometheus"

Происходит рукопожатие TLS

 http_req_tls_handshaking.......: avg=208.3ms  min=208.3ms  med=208.3ms  max=208.3ms  p(90)=208.3ms  p(95)=208.3ms

попробовал передать «insecureSkipTLSVerify: true» в настройках

передается как флаг (-insecure-skip-tls-verify)

k6 run -o Experimental-prometheus-rw -e 'K6_PROMETHEUS_RW_SERVER_URL=https://****/api/v1/push' --insecure-skip-tls-verify k6/sample/prfm_hpp.js

Любая помощь/указания приветствуются. заранее спасибо

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

--insecure-skip-tls-verify влияет только на HTTP-запросы, сделанные в ходе вашего теста, а не на модули вывода результатов, такие как удаленная запись Prometheus.

Чтобы отключить проверку TLS для модуля вывода Prometheus, вам необходимо установить K6_PROMETHEUS_RW_INSECURE_SKIP_TLS_VERIFY на true:

k6 run -o experimental-prometheus-rw -e K6_PROMETHEUS_RW_INSECURE_SKIP_TLS_VERIFY=true -e 'K6_PROMETHEUS_RW_SERVER_URL=https://****/api/v1/push' k6/sample/prfm_hpp.js

Это небезопасно (поскольку имя параметра очень заметно) и открывает возможности для атак «человек посередине» — вы больше не проверяете личность сервера. Любой сертификат TLS считается действительным, если эта опция включена.

Метрика http_req_tls_handshaking не содержит рукопожатий с Prometheus, а только рукопожатия TLS, выполненные в ваших тестовых функциях.

Большое спасибо Knittl, все заработало после настройки K6_PROMETHEUS_RW_INSECURE_SKIP_TLS_VERIFY=true

rahulatrey 15.07.2024 13:35

В дополнение к ответу Knittl

Происходит рукопожатие TLS

Да, если вы используете https-соединение, TLS должен произойти, эта опция просто делает так, что пока это происходит, k6 пропускает фактическую проверку того, кем себя называют серверы, и то, что мы видим, верно. Таким образом, вы можете подключиться к paypal.com, и если они скажут нам, что это google.com — это все равно нормально.

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

Другие вопросы по теме