我正在使用Jest从Java客户端通过HTTP向Elasticsearch发送请求。由于我的请求必须遍历公共Internet,因此我在Elasticsearch前面使用Nginx代理来提供SSL和HTTP Basic Auth。但是,我没有看到使用Jest设置HTTP Basic Auth凭据的方法。
是否可以在Jest中使用HTTP Basic Auth?如果是这样的话?
答案 0 :(得分:3)
HTTP基本身份验证可以作为标头发送。
String authHeader = "Basic " + new String(Base64.encodeBase64(String.format("%s:%s", username, password).getBytes()));
Index index = new Index.Builder(json)
.index(indexName)
.type(type)
.id(id)
.setHeader("Authorization", authHeader)
.build();
JestResult result = client.execute(index);