Estimated reading time: 9 minute(s)
Merhaba bu yazımda docker üzerinde çalışan Kibana uygulamasına ücretsiz bir şekilde nasıl kullanıcı doğrulama işlemi yapabileceğinizi anlatmaya çalışacağım.
Daha önceden yazdığım ELK Stack kurulumu yazısına aşağıdaki linkten ulaşabilirsiniz.
Daha önceden oluşturduğumuz Docker Compose’umuza Nginx’i yeni bir servis olarak ekleyeceğiz. Bu servisin yapacağı iş “5601” portunda yayın yapan Kibana’yı o portta bloklamak ve farklı bir portta proxy ile doğrulayarak eriştirmek olacak.
Nginx servisimiz şu şekilde olacak;
nginx:
image: compareg/nginx-basic-auth-proxy:v1
ports:
- 5611:80
- 5612:5612
environment:
- BASIC_AUTH_USERNAME
- BASIC_AUTH_PASSWORD
- PROXY_PASS=http://kibana:5601/
networks:
- elasticstack
Servisimiz “nginx-basic-auth-proxy” image’ını kullanıyor. 5601 portunu alıp 5611 portundan yayınlıyor. Tanımlanmış iki tane değerimiz var. Portainer’da ELK stack’imizde giriş bilgilerimizi aşağıdaki gibi tanımlıyoruz.

Diğer dikkat edilecek konu da yeni eklediğimiz nginx servisimizin ELK stack ile aynı network’de çalışması. Bizim stack’imiz “elasticstack” isimli network’de çalışıyor.
Son durumda stack’imiz aşağıdaki gibi olmalıdır.
version: "3.4"
services:
nginx:
image: compareg/nginx-basic-auth-proxy:v1
ports:
- 5611:80
- 5612:5612
environment:
- BASIC_AUTH_USERNAME
- BASIC_AUTH_PASSWORD
- PROXY_PASS=http://kibana:5601/
networks:
- elasticstack
elasticsearch:
image: elasticsearch:7.9.2
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- elasticsearch-volume:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9300:9300
networks:
- elasticstack
logstash:
image: logstash:7.9.2
ports:
- "5000:5000"
volumes:
- /run/desktop/mnt/host/c/data/logstash:/etc/logstash
command: logstash -f /etc/logstash/conf.d/
environment:
LS_JAVA_OPTS: "-Xms256m -Xmx256m"
depends_on:
- elasticsearch
networks:
- elasticstack
kibana:
image: kibana:7.9.2
container_name: kibana
volumes:
- kibana-volume:/usr/share/kibana/
ports:
- 5601:5601
depends_on:
- elasticsearch
networks:
- elasticstack
networks:
elasticstack:
volumes:
kibana-volume:
external: true
logstash-volume:
external: true
elasticsearch-volume:
external: true
ELK stack servislerimizin listesi aşağıdadır.

Şimdi deneyelim.
5601 portuna artık erişilemez.
http://localhost:5611 adresine girdiğimizde aşağıdaki sayfa açılacaktır.

Başarılı giriş olmaması durumunda karşılaşılacak hata aşağıdaki gibidir.

Kullanıcı adı ve şifreyi doğru girdiğimizde kibana uygulamamız açılacaktır.

Umarım faydalı bir yazı olmuştur.
Okuduğunuz için teşekkürler.