From cd405117f461164003235912efa8c08c23444786 Mon Sep 17 00:00:00 2001 From: Johannes Grassler Date: Thu, 29 Jun 2017 17:06:34 +0200 Subject: [PATCH] Do not validate SSL cert in Keystone health check This commit turns off SSL certificate validation for the Keystone Health check. Change-Id: I42bdc18a4668baf48ac26614b5301cb10cdd71fa Story: 2001093 Task: 4754 (cherry picked from commit 6d9a227816a8b96145c31e5d0e61b174926cd7e0) --- server/healthcheck/index.js | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/server/healthcheck/index.js b/server/healthcheck/index.js index f0c244e..e663475 100644 --- a/server/healthcheck/index.js +++ b/server/healthcheck/index.js @@ -21,6 +21,7 @@ module.exports = function healthcheck(plugin, server) { const config = server.config(); const keystoneUrl = util.keystoneUrl(config); const request = getRequest(); + const requestParams = getRequestParams(); server.log(['keystone', 'healthcheck', 'debug'], `keystone url is ${keystoneUrl}`); @@ -41,11 +42,8 @@ module.exports = function healthcheck(plugin, server) { function check() { return new Promise((resolve, reject)=> { - const req = request({ - hostname: getHostname(), - port : getPort(), - method : 'HEAD' - }, (res)=> { + const req = request( + requestParams, (res)=> { const statusCode = res.statusCode; if (statusCode >= 400) { plugin.status.red('Unavailable'); @@ -115,4 +113,19 @@ module.exports = function healthcheck(plugin, server) { return required.request; } + function getRequestParams() { + let params; + + params = { + hostname: getHostname(), + port : getPort(), + method : 'GET' + }; + if (util.startsWith(keystoneUrl, 'https')) { + params.rejectUnauthorized = false; + } + + return params; + } + };