Reverse proxy yang berdiri di depan aplikasi bukan hal baru. Anda menuliskan alamat tujuan di sebuah berkas konfigurasi, memuat ulang layanannya, lalu permintaan pengunjung mulai diteruskan ke sana. Pola ini bekerja rapi selama satu syarat terpenuhi: alamat tujuan sudah diketahui pada saat berkas konfigurasi ditulis.
Di lingkungan container, syarat itu runtuh. Alamat sebuah container baru ada setelah ia menyala, berganti setiap kali aplikasi di-deploy ulang, dan bertambah setiap kali jumlah salinannya dinaikkan. Menuliskannya secara manual berarti mengejar sesuatu yang berubah lebih cepat daripada tangan Anda mengetik.
Traefik adalah jawaban yang lahir dari persoalan tersebut. Alih-alih menunggu Anda memberi tahu ke mana permintaan harus pergi, ia bertanya sendiri kepada infrastruktur Anda.
Traefik Adalah Apa? Definisi dan Asal-Usulnya
Traefik adalah reverse proxy dan load balancer sumber terbuka yang menyusun aturan routing-nya sendiri dengan membaca kondisi infrastruktur secara langsung. Ia ditulis dengan bahasa Go, dilepas dengan lisensi MIT, dan repositorinya dibuat pada 13 September 2015.
Pembuatnya adalah Emile Vauge. Saat itu ia menggarap proyek berisi ribuan microservice (aplikasi yang dipecah menjadi banyak layanan kecil) dan tidak menemukan proxy yang sanggup mengikuti perpindahan sebanyak itu. Proyeknya diposting ke Hacker News pada 22 September 2015 dan menjadi repositori paling ramai di GitHub dalam sepekan. Perusahaan yang dibangun di sekitarnya bernama Containous, yang belakangan berganti nama menjadi Traefik Labs.
Image resminya sudah diunduh 3,4 miliar kali dari Docker Hub, repositorinya mengumpulkan 64.590 bintang dan 6.160 fork, dengan sekitar 900 kontributor serta 16 maintainer aktif.
Nama produk sumber terbukanya adalah Traefik Proxy. Traefik Labs juga menjual Traefik Hub, dan keduanya sering disebut "Traefik" begitu saja. Sepanjang artikel ini, "Traefik" merujuk pada edisi sumber terbuka.
Cara Kerja Traefik: Lima Blok dalam Satu Permintaan
Satu permintaan dari pengunjung melewati empat blok berurutan di dalam Traefik, ditambah satu blok kelima yang bekerja di belakang layar.
- EntryPoint: pintu masuk jaringan. Blok ini menentukan port yang menerima paket dan apakah Traefik mendengarkan TCP atau UDP. Konfigurasi umumnya memakai dua pintu, yaitu
webdi port 80 danwebsecuredi port 443. - Router: penentu tujuan. Router mencocokkan ciri permintaan dengan sebuah aturan, misalnya
Host(`blog.contoh.id`), lalu memutuskan layanan mana yang berhak menanganinya. - Middleware: penyunting di tengah jalan. Sebelum permintaan diteruskan, middleware dapat mengalihkan HTTP ke HTTPS, meminta autentikasi, membatasi laju, atau memotong awalan path.
- Service: cara mencapai aplikasi. Blok ini menyimpan daftar alamat sesungguhnya beserta cara membagi permintaan bila alamatnya lebih dari satu.
- Provider: sumber informasi. Provider inilah yang memberi tahu Traefik bahwa ketiga blok di atas perlu dibuat, diubah, atau dihapus.
Perbedaan mendasarnya ada di blok kelima. Pada proxy konvensional, isi blok satu sampai empat Anda tulis sendiri di sebuah berkas. Pada Traefik, blok satu ditulis sekali di konfigurasi statis, sementara blok dua sampai empat lahir dari apa yang dilaporkan provider.
Permintaan di Traefik melewati EntryPoint, Router, Middleware, lalu Service; Provider membentuk tiga blok terakhir.
Provider: Cara Traefik Mengetahui Ada Container Baru
Provider adalah komponen infrastruktur yang API-nya ditanyai Traefik secara terus-menerus: orkestrator, mesin container, penyedia cloud, atau penyimpanan key-value. Ketika ada perubahan di sana, Traefik memperbarui rutenya tanpa dimuat ulang dan tanpa memutus koneksi yang sedang berjalan.
Bentuk paling lazimnya adalah provider Docker. Traefik membaca label yang menempel pada tiap container, lalu menerjemahkannya menjadi router dan service. Agar bisa membacanya, Traefik dijalankan sebagai container dari image resmi bernama traefik di Docker Hub, dengan socket Docker milik host dipasang ke dalamnya. Label berikut ditulis di dalam definisi container pada docker-compose.yml:
labels:
- traefik.enable=true
- traefik.http.routers.app.rule=Host(`blog.id`)
- traefik.http.routers.app.entrypoints=websecure
- traefik.http.routers.app.tls.certresolver=leEmpat baris itu sudah cukup. Begitu container menyala, Traefik melihatnya, membuat router bernama app, menyiapkan sertifikat lewat resolver le, dan permintaan ke domain tersebut langsung mengalir. Port tujuan tidak perlu disebut selama container hanya membuka satu port. Saat container dimatikan, rutenya ikut hilang dengan sendirinya.
Cara pandang inilah yang membedakannya. Konfigurasi tidak lagi berada di satu berkas terpusat yang harus Anda sinkronkan dengan kenyataan, melainkan menempel pada layanan yang dideskripsikannya.
Proxy konvensional perlu berkas disunting lalu dimuat ulang; Traefik membaca label container tanpa muat ulang.
Fungsi Traefik yang Sering Tertukar Perannya
Satu proses Traefik menjalankan beberapa peran sekaligus, dan peran-peran ini kerap dikira produk yang berbeda.
- Reverse proxy: menerima permintaan dari luar dan meneruskannya ke aplikasi di belakang. Peran inilah yang paling sering dipakai pada satu server berisi banyak layanan, dengan Traefik memisahkan mereka berdasarkan domain. Konsep umumnya sudah dibahas terpisah di artikel proxy.
- Load balancer: membagi permintaan ke beberapa alamat tujuan untuk satu service yang sama. Traefik mendapatkan daftar alamat itu dari provider, sehingga jumlah salinan aplikasi boleh berubah tanpa konfigurasi disentuh. Pembahasan konsep pembagian bebannya ada di artikel load balancing.
- Ingress controller: peran yang sama di dalam klaster Kubernetes. Traefik ingress controller membaca objek Ingress, IngressRoute, atau Gateway API, lalu mengubahnya menjadi router dan service.
- Titik terminasi TLS: membuka enkripsi di depan sehingga aplikasi di belakang cukup berbicara HTTP polos. Peran ini yang menyatukan pengelolaan sertifikat di satu tempat.
Perlu diperhatikan bahwa Traefik bukan web server. Ia tidak dirancang untuk menyajikan berkas statis dari disk, sehingga gambar, CSS, dan JavaScript tetap dilayani aplikasi atau web server di belakangnya.
Sertifikat HTTPS Otomatis Lewat ACME
Alasan Traefik paling sering direkomendasikan biasanya bukan performanya, melainkan sertifikatnya. Traefik memuat klien ACME di dalam dirinya, sehingga sertifikat Let's Encrypt diminta, dipasang, dan diperpanjang tanpa cron job terpisah. Begitu sebuah router baru memiliki aturan Host, sertifikat untuk domain itu diurus sendiri.
Dua syarat praktis perlu Anda siapkan. Pertama, metode HTTP challenge membutuhkan port 80 yang bisa dijangkau dari internet. Karena itu Traefik perlu berjalan di server yang Anda kendalikan sepenuhnya seperti VPS Indonesia, bukan di hosting yang portnya dibatasi. Kedua, berkas penyimpanan acme.json wajib berada di volume permanen. Bila berkas itu ikut hilang setiap container dibuat ulang, Traefik akan meminta sertifikat baru terus-menerus dan cepat membentur batas laju Let's Encrypt.
Untuk domain wildcard, HTTP challenge tidak cukup dan Anda harus beralih ke DNS challenge dengan kredensial penyedia DNS. Rincian perbedaan kedua metode itu dibahas di artikel TLS.
Dashboard Traefik dan Jebakan Port 8080
Traefik menyediakan antarmuka web, biasa disebut Traefik dashboard, yang menampilkan seluruh router, service, dan middleware yang sedang aktif. Dashboard ini berguna sekali saat sebuah rute tidak bekerja seperti yang Anda harapkan. Isinya memperlihatkan apa yang benar-benar dibaca Traefik, bukan apa yang Anda kira sudah ditulis.
Cara tercepat menyalakannya adalah opsi api.insecure=true. Opsi ini membuat entryPoint bernama traefik dan, bila entryPoint itu belum didefinisikan, membuatnya otomatis di port 8080. Di sinilah jebakannya. Dokumentasi resmi menyatakan bahwa menyalakan API dan dashboard di produksi tidak dianjurkan, karena mode tersebut membuka seluruh elemen konfigurasi termasuk data sensitif.
Kata
insecuredi nama opsinya bukan gaya bahasa. Port 8080 yang terbuka tanpa autentikasi berarti siapa pun yang menemukannya bisa membaca peta lengkap layanan Anda beserta aturan aksesnya.
Jalan amannya adalah memperlakukan dashboard seperti aplikasi lain: matikan mode insecure, buat router khusus dengan aturan Host sendiri yang mengarah ke api@internal, lalu pasangi middleware autentikasi. Dengan begitu dashboard tetap bisa dibuka, tetapi lewat pintu yang sama ketatnya dengan layanan produksi.
Traefik dashboard terbuka tanpa kunci di port 8080 lewat api.insecure; router dengan autentikasi menutup pintunya.
Traefik vs Nginx dan HAProxy: Beda Titik Berangkat
Membandingkan ketiganya berdasarkan angka throughput jarang menghasilkan keputusan yang berguna, karena selisihnya biasanya kalah besar dibanding pengaruh aplikasi di belakang. Perbedaan yang benar-benar menentukan ada di asumsi awal masing-masing.
Nginx dan HAProxy berangkat dari topologi yang alamatnya sudah diketahui ketika berkas konfigurasi ditulis. Karena itu keduanya memberi Anda kendali yang sangat rinci atas setiap perilaku, dengan konsekuensi bahwa setiap perubahan topologi berarti menyunting berkas dan memuat ulang layanan.
Traefik berangkat dari topologi yang alamatnya baru muncul setelah container menyala. Ia menukar sebagian kendali rinci itu dengan konfigurasi yang mengikuti infrastruktur secara otomatis.
Panduan memilihnya menyempit ke tiga situasi:
- Pilih Traefik kalau jumlah dan alamat layanan Anda berubah sendiri, misalnya di Docker Compose yang sering ditambah layanan atau di klaster Kubernetes.
- Pilih Nginx kalau satu mesin harus sekaligus menyajikan berkas statis dan meneruskan permintaan ke aplikasi, dengan daftar layanan yang jarang berubah.
- Pilih HAProxy kalau tugasnya murni membagi beban ke sekumpulan server tetap dan Anda membutuhkan health check serta statistik yang sangat terperinci.
Tiga nama lain sering ikut disebut ketika orang menimbang alternatif, dan ketiganya menjawab kebutuhan yang berbeda:
- Traefik vs Caddy: keduanya mengurus sertifikat sendiri tanpa cron job. Caddy lebih kuat sebagai web server yang menyajikan berkas dari disk, sedangkan Traefik lebih kuat pada penemuan rute di lingkungan yang berubah-ubah.
- Traefik vs Kong: Kong berdiri di atas OpenResty dan menyasar pengelolaan API — kunci akses, kuota pemakaian, sampai portal untuk konsumen API. Kalau kebutuhan Anda hanya meneruskan permintaan ke beberapa aplikasi, lapisan itu tidak akan terpakai.
- Traefik vs Nginx Proxy Manager: Nginx Proxy Manager adalah antarmuka web di atas Nginx yang menulis konfigurasi lewat formulir. Ia menang pada kemudahan untuk jaringan rumah, tetapi aturannya tetap harus dibuat manusia satu per satu, bukan dibaca sendiri dari container.
Kelemahan dan Hal yang Perlu Anda Pertimbangkan
Kelenturan yang menjadi nilai jual Traefik juga menjadi permukaan serangannya. Pola ini terbaca jelas pada kerentanan yang ditambal sepanjang 2026: tiga dari empat menyangkut middleware dan plugin, bukan inti proxy-nya.
- Middleware bisa dilewati: CVE-2026-65600 memungkinkan permintaan seperti
GET /api../adminmenghasilkan path tidak ternormalisasi yang, setelah dirapikan aplikasi di belakang, mengarah ke rute terproteksi tanpa melewati autentikasi. Perbaikannya ada di versi 2.11.52, 3.6.23, dan 3.7.7. - Header autentikasi bisa dipalsukan: CVE-2026-54764 muncul karena middleware
ForwardAuthmengambil headerX-Forwarded-Portdari permintaan asli, bukan dari permintaan yang sudah dibersihkan. - Plugin bisa menimpa berkas sistem: mekanisme pemasangan plugin WASM pernah menerima arsip berisi jalur
../, sehingga berkas di luar direktori plugin dapat ditimpa.
Konsekuensi praktisnya, memakai Traefik berarti menerima jadwal pembaruan yang cukup rapat. Menahan versi selama satu tahun bukan pilihan yang nyaman di sini.
Ada pula harga yang dibayar untuk kemudahan penemuan rute itu sendiri. Provider Docker bekerja dengan memasang socket /var/run/docker.sock ke dalam container Traefik, dan siapa pun yang menguasai socket tersebut praktis menguasai seluruh host. Dokumentasi resminya menganjurkan memasang socket proxy penyaring atau autentikasi sertifikat, bukan menyerahkan socket apa adanya — langkah yang mudah terlewat ketika Traefik dipasang buru-buru.
Di luar keamanan, ada tiga hal lain yang perlu Anda pertimbangkan. Traefik bukan web server, sehingga penyajian berkas statis tetap membutuhkan proses lain. Hasil pencarian di internet juga masih bercampur antara petunjuk versi 2 dan versi 3 yang sintaksnya berbeda. Akibatnya potongan konfigurasi hasil salin-tempel sering gagal tanpa pesan yang jelas. Terakhir, fitur seperti WAF bawaan, LDAP, JWT, OAuth, dan OIDC berada di Traefik Hub yang berbayar dan harganya tidak dipublikasikan.
Peta Versi Traefik dan Batas Dukungannya
Traefik memakai kebijakan yang tegas: setiap versi minor didukung selama enam bulan sejak tanggal rilis resminya. Versi minor terakhir sebelum pergantian mayor mendapat perpanjangan menjadi dua tahun, dan itulah sebabnya cabang 2.11 masih hidup jauh setelah versi 3 keluar.
| Versi | Rilis | Aktif sampai | Keamanan sampai |
|---|---|---|---|
| 3.7 | 5 Mei 2026 | masih berjalan | masih berjalan |
| 3.6 | 7 Nov 2025 | 7 Mei 2026 | 16 Agt 2026 |
| 2.11 | 12 Feb 2024 | 29 Apr 2025 | 7 Sep 2026 |
Rilis stabil terbaru saat artikel ini ditulis adalah 3.7.11, keluar pada 19 Agustus 2026. Cabang lama masih menerima tambalan lewat 2.11.55 yang keluar sehari sebelumnya, tetapi jadwalnya sudah menyentuh garis akhir. Setelah 7 September 2026, kerentanan yang ditemukan di 2.11 tidak lagi ditambal.
Traefik 2.11 tinggal dukungan keamanan sampai 7 September 2026; 3.6 sudah habis dan 3.7 masih didukung penuh.
Bila Anda masih berada di versi 2, empat perubahan berikut yang paling sering menggagalkan konfigurasi saat pindah ke versi 3:
- Nilai di dalam aturan wajib memakai backtick atau kutip ganda ter-escape. Kutip tunggal ditolak.
PathPrefixtidak lagi menerima ekspresi reguler.PathdanPathPrefixtidak lagi menerima penanda seperti{id}. Penggantinya adalahPathRegexp.Headersberganti nama menjadiHeader, danHeadersRegexpmenjadiHeaderRegexp.
Tersedia opsi jembatan core.defaultRuleSyntax: v2 yang membuat aturan lama tetap terbaca. Opsi tersebut sudah ditandai deprecated dan akan dihapus pada versi mayor berikutnya, jadi perlakukan sebagai waktu tambahan untuk menulis ulang, bukan sebagai solusi permanen.
Pertanyaan Seputar Traefik
Apa itu Traefik secara singkat?
Traefik adalah perangkat lunak yang berdiri di depan aplikasi Anda, menerima permintaan pengunjung, dan meneruskannya ke layanan yang tepat. Yang membedakannya dari proxy lain, daftar layanan itu tidak Anda tulis manual melainkan dibaca sendiri dari infrastruktur.
Apakah Traefik merupakan proyek CNCF?
Bukan. Traefik memang terdaftar di CNCF Landscape pada kategori API gateway, dan Traefik Labs tercatat sebagai anggota CNCF. Namun terdaftar di landscape berbeda dengan menjadi proyek yang dinaungi CNCF.
Pada berkas landscape.yml, entri proyek naungan memiliki penanda tingkat kematangan seperti project: graduated pada Kubernetes. Entri Traefik tidak memiliki penanda itu, sehingga statusnya bukan sandbox, bukan incubating, dan bukan graduated. Pengembangannya tetap dipegang Traefik Labs.
Apakah Traefik sudah siap untuk produksi?
Sudah, dan sudah lama. Image resminya diunduh 3,4 miliar kali dan proyeknya telah melewati lebih dari 500 rilis sejak 2015. Yang perlu Anda siapkan bukan keraguan pada kematangannya, melainkan dua kebiasaan operasional: menutup dashboard dari akses publik, dan mengikuti rilis tambalan keamanan yang terbit cukup sering.
Apakah Traefik gratis dan apa bedanya dengan Traefik Hub?
Traefik Proxy gratis sepenuhnya dengan lisensi MIT, termasuk untuk keperluan komersial, dan sudah mencakup reverse proxy, load balancer, ingress controller, HTTP/3, serta sertifikat otomatis. Traefik Hub adalah produk berbayar yang menambahkan WAF bawaan, autentikasi lanjutan, pengelolaan banyak klaster, hingga developer portal. Harganya tidak dicantumkan di situs resmi dan hanya tersedia lewat penawaran.
Apakah Traefik bisa dipakai tanpa Docker?
Bisa. Docker hanyalah salah satu provider. Traefik juga membaca konfigurasi dari berkas YAML atau TOML biasa, dari Kubernetes, dari Docker Swarm, serta dari penyimpanan key-value seperti Consul dan etcd. Memakai provider berkas membuatnya bekerja mirip proxy konvensional, meski manfaat terbesarnya memang baru terasa saat tujuannya berubah-ubah.
Kesimpulan
Traefik adalah reverse proxy sekaligus load balancer sumber terbuka yang menyusun rutenya sendiri dengan menanyai infrastruktur, bukan menunggu berkas konfigurasi disunting. Empat blok penyusunnya, yaitu entryPoint, router, middleware, dan service, sebagian besar lahir otomatis dari laporan provider. Karena itu ia paling menguntungkan pada susunan yang jumlah dan alamat layanannya memang sering berubah.
Kalau Anda memakainya, dua hal layak diselesaikan sejak awal. Pertama, jangan biarkan dashboard menyala di port 8080 tanpa autentikasi, karena isinya adalah peta lengkap layanan Anda. Kedua, bila konfigurasi Anda masih memakai sintaks versi 2, jadwalkan penulisan ulangnya sekarang: dukungan keamanan cabang 2.11 berakhir pada 7 September 2026 dan opsi jembatan defaultRuleSyntax sudah ditandai untuk dihapus.
Semoga artikel ini membantu.




