1. 需要的证书文件
1.1 前情提要
原因是阿里云服务器内存资源有限,实在是养不起kibana,所以只在阿里云部署es,在本地计算机启动一个kibana来连接;
当然也可以是elasticsearch-head或者elasticvue浏览器插件的.
1.2 需要的3个文件
kibana通过证书访问远程es需要这3个文件:crt/csr/key
主要是本地kibana需要这三个配置, 所以后面生成这3个文件之后, 要下载下来, 放到本地kibana/config目录下,配置上全路径:
elasticsearch.ssl.certificate: d:/xxx/kiana/config/kibana.crt
elasticsearch.ssl.key: d:/xxx/kiana/config/kibana.key
elasticsearch.ssl.certificateAuthorities: [ "d:/xxx/kiana/config/elasticsearch-ca.pem" ]
2. 证书的生成
- csr/key/crt生成都需在es所在服务器上!
2.1 生成csr/key证书
bin/elasticsearch-certutil csr -name kibana -dns myhost
#会在es的根目录下生成 csr-bundle.zip 文件, `unzip csr-bundle.zip`解压开:
#会有2个文件:
- kibana/kibana.csr
- kibana/kibana.key
2.2 生成crt证书
openssl x509 -req -in kibana.csr -signkey kibana.key -out kibana.crt
# 会生成crt文件:
- kibana.crt
3. 本地kibana配置文件
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["https://myhost.com:9200"]
#不能使用elastic账号,elastic账号是管理员账号
#可以通过`bin/elasticsearch-certutil -u kibana -i`自定义一对账密
elasticsearch.username: "kibana"
elasticsearch.password: "mypassword"
#配置下面3个证书文件(服务器es上生成的crt/key/pem)
elasticsearch.ssl.verificationMode: none
elasticsearch.ssl.certificate: D:/_tmp/kibana-8.5.2/config/kibana.crt
elasticsearch.ssl.key: D:/_tmp/kibana-8.5.2/config/kibana.key
elasticsearch.ssl.certificateAuthorities: [ "D:/_tmp/kibana-8.5.2/config/elasticsearch-ca.pem" ]
上面就是本地kibana.yml的全部配置, 然后直接启动即可连接.
4. 备注说明
- 服务器hostname=myhost
- 服务器域名=myhost.com
- 如果还不行,可能还需要服务es支持cors,因为之前配置elasticvue和head插件已经配置了,这里没写,服务器es主要配置如下:
cluster.name: my-cluster
node.name: node-1
path.data: /xxx/es-8.5.2/data
path.logs: /xxx/es-8.5.2/logs
# 设置网络访问节点
network.host: myhost
# 设置网络访问端口
http.port: 9200
# 安全认证
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
# http的认证
xpack.security.http.ssl:
enabled: true
keystore.path: /xxx/es-8.5.2/config/certs/http.p12
truststore.path: /xxx/es-8.5.2/config/certs/http.p12
# 传输认证
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: /xxx/es-8.5.2/config/certs/elastic-certificates.p12
truststore.path: /xxx/es-8.5.2/config/certs/elastic-certificates.p12
# 此处注意, node-1是上面配置的节点名称
cluster.initial_master_nodes: ["node-1"]
http.host: [_local_, _site_]
ingest.geoip.downloader.enabled: false
xpack.security.http.ssl.client_authentication: none
#elasticvue/head/kibana
http.cors.enabled: true
http.cors.allow-origin: "*"
# elasticvue/head/kibana:
http.cors.allow-headers: X-Requested-With,Content-Type,Content-Length,Authorization
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。