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的安全性及穩定性,暫不支援對外提供認證。