问题描述
在创建云搜索服务(ES)时,传输协议选择 HTTPS,该如何访问到 ES 集群?
问题分析
如果在创建实例时未选择 HTTPS,访问方式您可以参考文档[1]。 如果选择 HTTPS 的传输协议,在访问时您需要做一些额外的配置,下文将描述使用 curl 命令和 常用的 postman 来进行演示。
解决方案
您可以参考如下步骤来满足先决条件:
- 进入到云搜索控制台。
- 在实例信息部分,找到 "服务访问",将证书下载到本地。
使用 curl 命令访问 ES 集群
使用 curl 命令需要加 -k 和 --cert 参数,使用示例如下:
(base) [root@rudonx ~]# curl -k --cert ca.cer https://xx.xx.xx.xx:9200/_cluster/health?pretty=true -u 'admin:xxxxxxxxxx'
{
"cluster_name" : "n15y80awld8i526m",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 37,
"active_shards" : 81,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 3,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 96.42857142857143
}
关于 curl 命令的参数以及更多用法,您可以参考文档[1]
使用 postman 访问 ES 集群
使用 openssl 工具将证书转化为 .pem 格式
openssl x509 -in ca.cer -out es.pem
点击 Authorization,选择 "Basic Auth",将用户名和密码进行填写 点击 postman 右上角的小齿轮,进入到设置界面,请按照截图中的步骤进行配置,上传我们在第一步中生成的 pem 文件。 配置完成之后,再次进入到 settings 界面,将 Enable SSL certificate verification 设置为 OFF,请参考如下截图: 经过上面的步骤,我们就可以通过 postman 访问开启 HTTPS 的 ES 集群。
参考文档
[1] https://curl.se/docs/manpage.html 如果您有其他问题,欢迎您联系火山引擎技术支持服务