Skip to main content
  1. Posts/

Basic Auth dan Digest Auth dengan Traefik

·2 mins·
traefik docker traefik
Table of Contents

Basic Auth dan Digest Auth adalah dua metode otentikasi yang digunakan dalam protokol HTTP untuk membatasi atau mengamankan akses dari pengguna yang tidak dikenal ke situs atau aplikasi dengan menampilkan popup pada browser berupa form untuk memasukan user dan password yang valid.

Basic Auth berbeda dengan Digest Auth, Basic Auth menggunakan enkripsi sederhana (base64) sedangkan Digest Auth menggunakan enkripsi yang lebih kuat dengan menggunakan fungsi hash sehingga menjadikannya lebih aman walau digunakan dalam koneksi HTTP.

Jika Anda lebih ingin menggunakan Basic Auth, disarankan untuk digunakan hanya dalam koneksi HTTPS yang aman.

Basic Auth
#

Generate dengan command htpasswd atau bisa melalui website htpasswd generator.

htpasswd -nb user password

Selanjutnya jalankan container dengan tambahan label traefik.http.middlewares.secure.basicauth.users=<output-htpasswd>

docker run -dit --name web1 \
-l web1 \
--label 'traefik.enable=true' \
--label 'traefik.http.routers.web1.rule=Host(`example.com`)' \
--label 'traefik.http.routers.web1.entrypoints=web' \
--label 'traefik.http.services.web1.loadbalancer.server.port=80' \
--label 'traefik.http.middlewares.secure.basicauth.users=admin:$apr1$uh086r5d$ZxLTyFgJyG5CYEsrdbk4B0' \
--label 'traefik.http.routers.web1.middlewares=secure' \
--label 'traefik.http.routers.web1.service=web1' \
nginxdemos/hello

Jika ingin menambahkan banyak user gunakan label traefik.http.middlewares.test-auth.basicauth.usersfile=/path/to/my/usersfile

Test akses http://example.com melalui browser Anda.

Digest Auth
#

Buat file pass.txt lalu generate dengan command htdigest dan masukan passwordnya.

htdigest -c pass.txt traefik username

Anda juga dapat generate melalui website htdigest generator. {: .prompt-tip }

Selanjutnya jalankan container dengan menambahkan label traefik.http.middlewares.test-auth.digestauth.user=name:realm:encoded-password

docker run -dit --name web1 \
-l web1 \
--label 'traefik.enable=true' \
--label 'traefik.http.routers.web1.rule=Host(`example.com`)' \
--label 'traefik.http.routers.web1.entrypoints=web' \
--label 'traefik.http.services.web1.loadbalancer.server.port=80' \
--label 'traefik.http.middlewares.secure.digestauth.user=admin:traefik:9bfbed194484409dd8ec5868d8fb2bcb' \
--label 'traefik.http.routers.web1.middlewares=secure' \
--label 'traefik.http.routers.web1.service=web1' \
nginxdemos/hello

Jika ingin menambahkan banyak user gunakan label traefik.http.middlewares.test-auth.digestauth.usersfile=/path/to/my/usersfile

Test akses http://example.com melalui browser Anda.

Related

Custom Error Pages on Traefik
·1 min
traefik docker traefik
Load Balance dengan Traefik
·4 mins
traefik docker traefik
Konfigurasi Routing di Traefik
·2 mins
traefik traefik docker
Install Traefik di Docker
·3 mins
traefik docker traefik
Setting Memory dan CPU di Docker
·1 min
docker docker
Install MinIO di Docker
·2 mins
minio docker minio