Details
Description
Setting hbase.ssl.enabled to true doesn't enable SSL on the InfoServer. Found that the problem is down the InfoServer and HttpConfig in how we setup the protocol in the HttpServer:
for (URI ep : endpoints) { Connector listener = null; String scheme = ep.getScheme(); if ("http".equals(scheme)) { listener = HttpServer.createDefaultChannelConnector(); } else if ("https".equals(scheme)) { SslSocketConnector c = new SslSocketConnectorSecure(); c.setNeedClientAuth(needsClientAuth); c.setKeyPassword(keyPassword);
It depends what end points have been added by the InfoServer:
builder
.setName(name)
.addEndpoint(URI.create("http://" + bindAddress + ":" + port))
.setAppDir(HBASE_APP_DIR).setFindPort(findPort).setConf(c);
Basically we always use http and we don't look via HttConfig if hbase.ssl.enabled was set to true and we assign the right schema based on the configuration.