ES配置httphotoshop认证和用户密码授权的方法
最近由于安全需要,需要对使用es组件的部分升级https认证和用户密码通讯,调整原有方法如下:
-
RestClientBuilder clientBuilder = RestClient.builder(new HttpHost(host, port, elasticsearchProtocol));
-
// 1. 设置公共请求头,每个请求都会带上这个请求头
-
setDefaultHeaders(clientBuilder);
-
// 3. 设置节点失败监听器
-
setFailListener(clientBuilder);
-
// 4. 设置节点选择器
-
clientBuilder.setNodeSelector(NodeSelector.SKIP_DEDICATED_MASTERS);
-
// 5. 配置HTTP异步请求ES的线程数
-
setHttpClientConfigCallback(clientBuilder);
-
// 6. 配置连接超时和套接字超时
-
setRequestConfigCallback(clientBuilder);
-
if ("true".equals(esSecurityEnable)) {
-
//启用es加密
-
// 8. 配置通信加密 安全认证
-
setSSLContext(clientBuilder);
-
}
-
return new RestHighLevelClient(clientBuilder);
-
private void setSSLContext(RestClientBuilder clientBuilder){
-
-
try{
-
SSLContext sslContext = SSLContext.getInstance("TLS");
-
sslContext.init(null, new TrustManager[] { new X509TrustManager() {
-
-
public void checkClientTrusted(X509Certificate[] certs, String authType) {}
-
-
public void checkServerTrusted(X509Certificate[] certs, String authType) {}
-
-
public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }
-
}}, null);
-
-
// 认证相关配置
-
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
-
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(esUserName, esPass));
-
-
clientBuilder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
-
-
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
-
return httpClientBuilder.
-
setDefaultCredentialsProvider(credentialsProvider).
-
setSSLContext(sslContext).
-
setSSLHostnameVerifier(new HostnameVerifier() {
-
-
public boolean verify(String hostname, SSLSession session) {
-
// TODO Auto-generated method stub
-
return true;
-
}
-
});
-
}
-
});
-
}catch (Exception e){
-
System.out.println("设置SSL正式错误!");
-
e.printStackTrace();
-
}
-
}
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbfbkc
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01