El monitoreo sintético admite una variedad de mecanismos de autenticación. Dependiendo del tipo de monitor que elija, esto incluye Basic, Digest, NTLM y NTLMv2.
Autenticación admitida por tipo de monitor
La compatibilidad con varios tiposmonitor puede depender de la configuración de su sitio.
Sugerencia
Para NTLM y NTLMv2, el monitoreo sintético utiliza un browser Chrome en un entorno Linux, por lo que su configuración debe ser compatible con este entorno del lado del cliente. También debe permitir credenciales codificadas en URI.
Proporcionar credenciales de autenticación
Monitor proporciona credenciales de autenticación codificándolas en la URL solicitada, como http(s)://username:password@site.com
. Para hacerlo, utilice la función encodeURIComponent('string')
JavaScript en su script. Por ejemplo:
var username = encodeURIComponent("username");var password = encodeURIComponent("password");var url = "https://" + username + ":" + password + "@site.com";
Para codificar valores para un ping o un monitor browser simple, siga estas instrucciones.
La URL completa http(s)://username:password@site.com
quedará registrada como texto plano en los datos de check de Sintético correspondiente. La URL será visible al ver los resultados de este monitor.
Ejemplos de código
A continuación se muestran ejemplos de código para algunos tipos de monitor :
Browser con 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();});
Prueba API
$http.get("https://username:password@site.com", function (err, resp, body) { console.log(err, resp, body);});
Solucionar problemas de autenticación NTLM
Puede comprobar si New Relic podrá autenticarse correctamente en su extremo NTLM utilizando curl o con un monitor API con script. Debes utilizar un host o ubicación con acceso a tu extremo.
curl
Para hacer esto, ejecute el siguiente comando, con la URL reemplazada por el extremo que desea probar:
$curl -v --ntlm http://example.com
En el resultado de ese comando, debería ver el siguiente encabezado response
que le indica que el servidor ofrece NTLM a través de HTTP como mecanismo de autenticación válido:
WWW-Authenticate: NTLM
Monitor de API con script
Cree un nuevo monitor de prueba API y asígnelo a una ubicación con acceso a su extremo. Reemplace la URL y valide el siguiente script, que imprimirá todos los encabezados de respuesta en el log del script:
$http.get("https://www.newrelic.com", { followRedirect: false, }, // Callback function (err, response, body) { console.log(response.headers); });
Confirme que el encabezado de respuesta WWW-Authenticate incluya NTLM.
Redirecciones
Los errores de autenticación NTLM pueden deberse a llamadas $browser.get
que generan una redirección. Verifique el código de respuesta para su solicitud en la vista Línea de tiempo en los resultados de su monitor. Si la solicitud se redirige, es posible que deba utilizar la ubicación de redirección como URL en la llamada inicial $browser.get
.