Yes thank you so much! It worked! Based on your corrections, these are my final files:
# /etc/elasticsearch/elasticsearch.yml on the server elastic.example.com
cluster.name: my-application
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: elastic.example.com
http.port: 9200
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
enabled: true
key: certs/elastic.example.com/privkey1.pem
certificate: certs/elastic.example.com/fullchain1.pem
xpack.security.transport.ssl:
enabled: true
key: certs/elastic.example.com/privkey1.pem
certificate: certs/elastic.example.com/fullchain1.pem
cluster.initial_master_nodes: ["e2"]
http.host: 0.0.0.0
# /etc/kibana/kibana.yml on the server kibana.example.com
server.port: 5601
server.host: 0.0.0.0
server.publicBaseUrl: "https://kibana.example.com:5601"
server.ssl.enabled: true
server.ssl.certificate: /etc/kibana/certs/kibana.example.com/fullchain1.pem
server.ssl.key: /etc/kibana/certs/kibana.example.com/privkey1.pem
elasticsearch.hosts: ["https://elastic.example.com:9200"]
elasticsearch.ssl.verificationMode: full
logging:
appenders:
file:
type: file
fileName: /var/log/kibana/kibana.log
layout:
type: json
root:
appenders:
- default
- file
pid.file: /run/kibana/kibana.pid
Certs for both elastic.example.com and kibana.example.com were issued by Let's Encrypt. All passwords and secrets in /etc/kibana/kibana.yml were declared with /usr/share/kibana/bin/kibana-keystore
Thank you everyone for corrections!