monitoring synthétique prend en charge une variété de mécanismes d'authentification. Selon le type de moniteur que vous choisissez, cela inclut Basic, Digest, NTLM et NTLMv2.
Authentification prise en charge par type de moniteur
La prise en charge de différents types de moniteurs peut dépendre de configuration de votre site.
Conseil
Pour NTLM et NTLMv2, monitoring Synthétique utilise un navigateur Chrome dans un environnement Linux, votre configuration doit donc être compatible avec cet environnement côté client. Il doit également autoriser les informations d’identification codées par URI.
Fournir des informations d’authentification
le moniteur fournit des informations d'authentification en les codant dans l'URL demandée, telle que http(s)://username:password@site.com
. Pour ce faire, utilisez la fonction JavaScript encodeURIComponent('string')
dans votre script. Par exemple:
var username = encodeURIComponent("username");var password = encodeURIComponent("password");var url = "https://" + username + ":" + password + "@site.com";
Pour encoder des valeurs pour un ping ou un simple moniteur de navigateur, suivez ces instructions.
L'URL complète http(s)://username:password@site.com
sera enregistrée sous forme de texte brut dans les données de contrôle du Synthétique correspondant. L'URL sera visible lors de la visualisation des résultats de ce moniteur.
Exemples de code
Voici quelques exemples de code pour certains types de moniteurs :
Navigateur scripté
$browser.get("https://username:password@site.com").then(function () { $browser.takeScreenshot();});
$browser.get("https://username@domain.com:password@site.com").then(function () { $browser.takeScreenshot();});
Test API
$http.get("https://username:password@site.com", function (err, resp, body) { console.log(err, resp, body);});
Résoudre les problèmes d’authentification NTLM
Vous pouvez vérifier si New Relic sera en mesure de s'authentifier correctement auprès de votre point de terminaison NTLM à l'aide curl ou d'un moniteur d'API scripté. Vous devez utiliser un hôte ou un emplacement avec accès à votre point de terminaison.
curl
Pour ce faire, exécutez la commande suivante, en remplaçant l’URL par le point de terminaison que vous souhaitez tester :
$curl -v --ntlm http://example.com
Dans la sortie de cette commande, vous devriez voir l'en-tête response
suivant indiquant que le serveur propose NTLM sur HTTP comme mécanisme d'authentification valide :
WWW-Authenticate: NTLM
Moniteur d'API scripté
Créez un nouveau moniteur de test API et attribuez-le à un emplacement avec accès à votre point de terminaison. Remplacez l'URL et validez le script suivant, qui imprimera tous les en-têtes de réponse dans le script log:
$http.get("https://www.newrelic.com", { followRedirect: false, }, // Callback function (err, response, body) { console.log(response.headers); });
Confirmez que l’en-tête de réponse WWW-Authenticate inclut NTLM.
Redirections
Les échecs d’authentification NTLM peuvent être causés par des appels $browser.get
qui entraînent une redirection. Vérifiez le code de réponse à votre demande dans la vue Chronologie dans les résultats de votre moniteur. Si la demande est redirigée, vous devrez peut-être utiliser l'emplacement de redirection comme URL dans l'appel $browser.get
initial à la place.