Kibana和浏览器之间HTTPS连接

参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.16/security-basic-setup-https.html

https://xie.infoq.cn/article/17e7e5de164cabc48fe4b7b90

官方网站给我们提供的例子是用 Kibana 的域名来创建一个 CSR,然后使用这个 CSR 到 CA 签署安全证书,这个 CA 可以是受信任的也可以是不受信任的,我们测试就使用不受信任的即可,其实 Elasticsearch 中提供了很多创建证书的命令行工具,对于安全连接来说完全够用而不需要使用比如 openssl 等其他工具了。

  1. 为 Kibana 服务器生成证书和私钥
elasticsearch-certutil cert --pem --name kibana-server --out certs.zip
  1. 生成的 certs.zip 包含了 cakibana-server 文件夹
./certs
├── ca
│   └── ca.crt
└── kibana-server
    ├── kibana-server.crt
    └── kibana-server.key
  1. 将压缩包复制到主机并解压缩
docker cp es:/usr/share/elasticsearch/certs.zip /root/work/cert/

unzip certs.zip
  1. 修改 docker-compose.yml 文件
version: '2.2'
services: 
  es:
    image: elasticsearch:7.14.1
    container_name: es
    environment:
      - discovery.type=single-node
  kibana:
    image: kibana:7.14.1
    container_name: kibana
    environment:
      - SERVER_NAME=kibana.localhost
      - I18N_LOCALE=zh-CN
      - ELASTICSEARCH_HOSTS=http://es:9200
      - XPACK_ENCRYPTEDSAVEDOBJECTS_ENCRYPTIONKEY="fhjskloppd678ehkdfdlliverpoolfcr"
      #入站TLS请求
      - SERVER_SSL_ENABLED=true
      - SERVER_SSL_CERTIFICATE=config/kibana-server.crt
      - SERVER_SSL_KEY=config/kibana-server.key
    volumes:
      - /root/work/cert/kibana-server/kibana-server.crt:/usr/share/kibana/config/kibana-server.crt
      - /root/work/cert/kibana-server/kibana-server.key:/usr/share/kibana/config/kibana-server.key
    ports:
      - 5601:5601
    depends_on:
      - es
  1. 启动
docker-compose up -d
  1. https 访问 Kibana

Kibana和浏览器之间HTTPS连接

上一篇:线程池/进程池


下一篇:Java中堆和栈的区别在哪?