HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是一种能够保障数据安全的HTTP通道,它是HTTP协议的安全版,通过在HTTP协议的基础上增加安全套接层SSL(Secure Sockets Layer)来保障数据传输的安全性。即HTTPS还是通过HTTP进行通信,只是传输的内容经过了SSL加密。为了保障您数据的安全性,建议使用HTTPS协议。本文介绍如何使用HTTPS协议。
前提条件
您已完成以下操作:
创建阿里云Elasticsearch实例。
具体操作,请参见创建阿里云Elasticsearch实例。
变更访问阿里云Elasticsearch实例的客户端代码。不变更会导致无法使用客户端程序访问实例。
以官方Elasticsearch的Rest Client访问方式为例,开启HTTPS后,
HttpHost
中需要加上https
参数,例如new HttpHost("es-cn-xxxxx.elasticsearch.aliyuncs.com", 9200, "https"));
,示例代码如下。开启HTTPS前的示例代码
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "Your password")); RestClientBuilder restClientBuilder = RestClient.builder( new HttpHost("es-cn-xxxxx.elasticsearch.aliyuncs.com", 9200)); RestClient restClient = restClientBuilder.setHttpClientConfigCallback( new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }).build();
开启HTTPS后的示例代码
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("elastic", "Your password")); RestClientBuilder restClientBuilder = RestClient.builder( new HttpHost("es-cn-xxxxx.elasticsearch.aliyuncs.com", 9200, "https")); RestClient restClient = restClientBuilder.setHttpClientConfigCallback( new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider); } }).build();
操作步骤
- 登录阿里云Elasticsearch控制台。
- 在左侧导航栏,单击Elasticsearch实例。
- 进入目标实例。
- 在顶部菜单栏处,选择资源组和地域。
- 在Elasticsearch实例中单击目标实例ID。
在左侧导航栏,单击安全配置。
在集群网络设置区域,打开使用HTTPS协议开关。
警告启用和关闭HTTPS服务会中断服务,并且会触发集群重启,为保证您的业务不受影响,请确认后操作。
在操作提示对话框中,选中确认已经修改访问Elasticsearch实例的代码,单击确认。
说明部分版本须购买协调节点,打开使用HTTPS协议开关后,系统会提示您购买协调节点。请按照提示购买协调节点后再操作。
关于是否需要购买协调节点,请参见开启HTTPS协议是否需要购买协调节点?。
确认后集群会重启,重启过程中可在任务列表中查看重启进度。重启完成后,即可使用HTTPS协议访问阿里云Elasticsearch实例。
常见问题
Q:开启HTTPS后,如何获取证书?
A:为了提高阿里云Elasticsearch的安全性及稳定性,暂不支持对外提供证书。