HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是一种能够保障数据安全的HTTP通道,它是HTTP协议的安全版,通过在HTTP协议的基础上增加安全套接层SSL(Secure Sockets Layer)来保障数据传输的安全性。即HTTPS还是通过HTTP进行通信,只是传输的内容经过了SSL加密。为了保障您数据的安全性,建议开启HTTPS协议。

前提条件

您已完成以下操作:
  • 创建阿里云ES实例。

    具体操作步骤请参见创建阿里云Elasticsearch实例

  • 购买协调节点。

    可在创建实例或升配集群时购买,详情请参见升配集群

  • 变更访问阿里云ES实例的客户端代码。不变更会导致无法使用客户端程序访问您的阿里云ES实例。
    以官方ES的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();

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 在顶部菜单栏处,选择地域。
  3. 单击目标实例ID/名称链接。
  4. 在左侧导航栏,单击安全配置
  5. 集群网络设置中,打开使用HTTPS协议开关。
    警告 启用和关闭HTTPS服务会中断服务,并且会触发集群重启,为保证您的业务不受影响,请确认后操作。
  6. 操作提示对话框中,勾选确认已经修改访问Elasticsearch实例的代码,单击确认
    操作提示
    说明 如果您还未购买协调节点,在打开使用HTTPS协议开关后,系统会提示您购买协调节点。请按照提示购买协调节点后再进行操作。
    确认后集群会进行重启,重启过程中可在任务列表中查看重启进度。重启完成后,即可使用HTTPS协议访问您的阿里云ES实例。