Получение «HttpHostConnectionException» при перенаправлении приложения в центр сертификации для проверки подлинности SAML в jmeter

#jmeter #saml-2.0 #cas

#jmeter #saml-2.0 #центр сертификации

Вопрос:

Я записал сценарий jmx для одного из моих приложений, где аутентификация выполняется через CAS SAML. Теперь при запуске скрипта я получаю исключение «Время ожидания соединения истекло», когда система перенаправляет с моего URL-адреса приложения в центры сертификации.

Например: «https://example.com » перенаправляет на «https://cas5.example.com/cas/idp/profile/SAML2/POST/SSO »

В этом направлении к URL-адресу центра сертификации я получаю

Код ответа как «Код ответа, отличный от HTTP: org.apache.http.conn.
Ответное сообщение HttpHostConnectionException» как «Сообщение об ответе, отличном от HTTP: подключиться к cas5.example.com: 443 не удалось. Время ожидания соединения истекло: подключение»

Пробные решения Пытались увеличить время ожидания для запроса Https до 90000, но по-прежнему сталкивались с той же ошибкой

Ответ №1:

Ошибка означает, что вы не получаете ответ от своего сервера CAS, причины могут быть в:

  1. Хост / порт CAS изменился с момента записи скрипта
  2. Центр сертификации не работает
  3. Центр сертификации находится в Интернете, а ваше приложение находится в интрасети, и JMeter не может получить доступ к Интернету из-за использования корпоративного прокси или чего-то подобного
  4. Для доступа к центрам сертификации требуется VPN-соединение
  5. Доступ к центрам сертификации ограничен процессом JMeter / Java брандмауэром вашей ОС

Мы можем помочь только в пункте 3, если это так, вы можете сообщить JMeter о настройках вышестоящего прокси,:

  1. Либо предоставление прокси-хоста, порта, учетных данных и т. Д. С помощью аргументов командной строки
     jmeter -H proxy_host -P proxy_port -t yourtest.jmx 
     
  2. Или установка прокси-хоста, порта, протоколов и учетных данных в файле system.properties, таким образом, вам не нужно будет вносить изменения в командную строку JMeter при каждом выполнении:
     http.proxyHost=proxy_host
    http.proxyPort=proxy_port
    etc.
     

Дополнительная информация: использование JMeter за прокси