{"id":108,"date":"2008-12-16T23:09:39","date_gmt":"2008-12-16T23:09:39","guid":{"rendered":"http:\/\/blog.milamberspace.net\/?p=108"},"modified":"2011-03-07T20:25:03","modified_gmt":"2011-03-07T20:25:03","slug":"enregistrer-un-scenario-jmeter-dun-site-en-https-via-le-proxy-http","status":"publish","type":"post","link":"https:\/\/blog.milamberspace.net\/index.php\/2008\/12\/16\/enregistrer-un-scenario-jmeter-dun-site-en-https-via-le-proxy-http-108.html","title":{"rendered":"Enregistrer un sc\u00e9nario Jmeter d&rsquo;un site en HTTPS via le proxy HTTP"},"content":{"rendered":"<p><strong><span style=\"color: #ff0000;\">Mise \u00e0 jour du 14 juillet 2010 :<span style=\"color: #000080;\"> La <\/span><a title=\"Apache JMeter 2.4 est sorti\" href=\"http:\/\/blog.milamberspace.net\/index.php\/2010\/07\/14\/apache-jmeter-2-4-est-sorti-694.html\"><span style=\"color: #000080;\">nouvelle version 2.4 de JMeter<\/span><\/a><span style=\"color: #000080;\"> permet maintenant d&rsquo;enregistrer une session de navigation en HTTPS. Le billet ci-dessous est devenu obsol\u00e8te.<\/span><\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Vous devez effectuer un test de charge sur une application accessible seulement en HTTPS (protocole HTTP avec la couche SSL). Pour la pr\u00e9paration du tir de charges, vous pensez \u00e9videmment \u00e0 enregistrer une session de navigation du sc\u00e9nario fonctionnel qui sera utilis\u00e9e plus tard pour le tir.<\/p>\n<p>Le probl\u00e8me c&rsquo;est que lorsque vous lancez le mode proxy de JMeter pour enregistrer votre session de navigation, cela ne marche pas (erreur de m\u00e9thode non impl\u00e9ment\u00e9e&#8230;) ou bien vous avez coch\u00e9 le \u00ab attempt HTTPS spoofing \u00bb et la aussi vous avez une erreur (java impossible de se connecter).<\/p>\n<p>Voici ce qu&rsquo;il faut faire pour que tout cela fonctionne, c&rsquo;est-\u00e0-dire que vous puissiez enregistrer une session de navigation sur un site HTTPS, au vue de faire un tir de charges ensuite.<!--more--><\/p>\n<p>La premi\u00e8re \u00e9tape est la configuration du module proxy dans JMeter, pour cela il faut :<\/p>\n<ol>\n<li>laisser le port \u00ab normal \u00bb, en g\u00e9n\u00e9ral celui par d\u00e9faut, le port 8080<\/li>\n<li>cocher la case \u00ab Attempt HTTPS Spoofing \u00bb<\/li>\n<li>choisir le type d&rsquo;\u00e9chantillon HTTP \u00e0 \u00ab HTTP Request HTTPClient \u00bb<\/li>\n<li><span style=\"color: #800000;\"><em>(non visible sur la capture), on peut aussi devoir d\u00e9cocher l&rsquo;option \u00ab\u00a0Follow Redirects\u00a0\u00bb afin d&rsquo;\u00e9viter le rebasculement en HTTPS que font certains sites (serveurs)<\/em><\/span><em> <span style=\"color: #800000;\">durant la session d&rsquo;enregistrement<\/span><\/em><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Jmeter Proxy configuration HTTPS\" src=\"\/wp-content\/images\/jmeter11-img\/01-jmeter-https.png\" alt=\"Jmeter Proxy configuration HTTPS\" width=\"319\" height=\"252\" \/><\/p>\n<p>La configuration de tentative d&rsquo;usurpation de HTTPS (Attenpt HTTPS Spoofing) va demander \u00e0 JMeter de changer le protocole des requ\u00eates HTTP envoy\u00e9es depuis votre navigateur (ce dernier \u00e9tant configur\u00e9 pour utiliser le proxy JMeter, cf capture suivante), en requ\u00eate HTTPS.<\/p>\n<p>Le choix de \u00ab HTTP Request HTTPClient \u00bb par rapport \u00e0 \u00ab HTTP Request \u00bb est li\u00e9 \u00e0 l&rsquo;utilisation de l&rsquo;API HTTPClient (Apache Jakarta Commons HttpClient) qui permet de faire des requ\u00eates en HTTPS (ce qui n&rsquo;est pas possible avec le mode par d\u00e9faut \u00ab HTTP Request \u00bb.<\/p>\n<p>Cot\u00e9 du navigateur web que vous allez utiliser pour enregistrer la session de navigation via le proxy JMeter, c&rsquo;est la configuration \u00ab standard \u00bb, on mets le bon port du proxy JMeter pour tous les protocoles.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"Configuration du navigateur Web\" src=\"\/wp-content\/images\/jmeter11-img\/04-jmeter-https.png\" alt=\"Configuration du navigateur Web\" width=\"494\" height=\"311\" \/><\/p>\n<p>Ensuite on va sur le site h\u00e9bergeant l&rsquo;application cible, mais attention en HTTP (sans le S). Et oui, c&rsquo;est JMeter qui va convertir les requ\u00eates en HTTPS.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"Acc\u00e8s via HTTP\" src=\"\/wp-content\/images\/jmeter11-img\/03-jmeter-https.png\" alt=\"Acc\u00e8s via HTTP\" width=\"327\" height=\"66\" \/><\/p>\n<p>On a donc le sch\u00e9ma suivant :<\/p>\n<pre><strong>Navigateur -----<span style=\"color: #339966;\">http<\/span>-----&gt; JMeter Proxy -----<span style=\"color: #ff0000;\">https<\/span>-----&gt; Site Cible<\/strong><\/pre>\n<p>JMeter enregistrera les requ\u00eates HTTPClient avec le protocole https.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"Echantillon pour test de charges en HTTPS\" src=\"\/wp-content\/images\/jmeter11-img\/05-jmeter-https.png\" alt=\"Echantillon pour test de charges en HTTPS\" width=\"340\" height=\"248\" \/><\/p>\n<p>Ensuite, quand votre sc\u00e9nario est pr\u00eat,  vous avez des requ\u00eates HTTPClient, vous n&rsquo;aurez plus qu&rsquo;\u00e0 lancer votre tir. Le sc\u00e9nario suivant (et normal) sera utilis\u00e9 :<\/p>\n<pre><strong>JMeter (tests charges) -----<\/strong><strong><span style=\"color: #ff0000;\">https<\/span>-----&gt; Site Cible<\/strong><\/pre>\n<p>Bon courage.<\/p>\n<p>&nbsp;<\/p>\n<p>.\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mise \u00e0 jour du 14 juillet 2010 : La nouvelle version 2.4 de JMeter permet maintenant d&rsquo;enregistrer une session de navigation en HTTPS. Le billet ci-dessous est devenu obsol\u00e8te. &nbsp; Vous devez effectuer un test de charge sur une application accessible seulement en HTTPS (protocole HTTP avec la couche SSL). Pour la pr\u00e9paration du tir &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/2008\/12\/16\/enregistrer-un-scenario-jmeter-dun-site-en-https-via-le-proxy-http-108.html\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Enregistrer un sc\u00e9nario Jmeter d&rsquo;un site en HTTPS via le proxy HTTP<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32,33,34],"tags":[143,330,144],"class_list":["post-108","post","type-post","status-publish","format-standard","hentry","category-apache","category-jmeter","category-tests-de-charges","tag-https","tag-jmeter","tag-proxy"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":12,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/108\/revisions"}],"predecessor-version":[{"id":117,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/posts\/108\/revisions\/117"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/categories?post=108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/tags?post=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}