DocsInfrastruktur
Konfigurasi proxy (middleware)
Tulis middleware Traefik sendiri (autentikasi, header, pembatas laju, allowlist IP, redirect) dan pasang per domain tanpa menyentuh server.
- Kelola
- Infrastruktur → Reverse proxy → Konfigurasi dinamis (owner; admin hanya lihat)
- Pasang
- Aplikasi → tab Domain → Middleware → Atur
- Cakupan
- Konfigurasi dinamis Traefik per proxy (host atau server remote)
Cara kerja
Traefik membaca konfigurasi dinamis dari sebuah direktori dan memuat ulang tiap berkas berubah, tanpa restart. aoox menyimpan berkas YAML buatanmu di database (sumber kebenaran) dan menulisnya ke proxy sebagai user-<nama>.yml. Berkas ini terpisah dari sertifikat kustom: aoox tidak pernah mengubah certs.yml atau berkas sertifikat, dan sertifikat tidak pernah menyentuh berkas user-.
- Satu daftar berkas per proxy: pilih Host aoox atau salah satu server remote di bagian atas kartu.
- Hanya bagian
httpyang diterima:middlewares,routers,services,serversTransports.tls(sertifikat dikelola di Sertifikat SSL),tcp,udp, dan kunci lain ditolak dengan pesan jelas. - Nama middleware, router, dan service hanya huruf kecil, angka, dan
-, dan harus unik per proxy (lintas berkas aktif). - Maksimal 64 KB per berkas. Berkas yang dinonaktifkan tetap tersimpan di aoox tetapi dihapus dari proxy.
Membuat berkas
Infrastruktur → Reverse proxy → Konfigurasi dinamis
Hanya owner yang bisa mengubah; admin bisa membaca daftar dan isi berkas.
Dari preset atau tulis sendiri
Dari preset membuka formulir kecil dan menghasilkan YAML siap simpan di editor (kamu masih bisa mengubahnya):
Preset Isi Basic auth Username dan password. Yang disimpan hanya hash bcrypt; password tidak pernah ada di berkas atau audit log. Security headers HSTS (hanya lewat HTTPS), nosniff, frame deny, referrer policy. Rate limit Rata-rata, burst, dan periode per IP sumber. IP allowlist Daftar alamat/CIDR yang divalidasi; selain itu 403. Redirect www Alihkan www ke non-www atau sebaliknya (301). Pasang ke domain yang diarahkan ( www.contoh.comuntuk ke non-www,contoh.comuntuk ke www).Atau Berkas baru untuk menulis YAML sendiri, mis.:
http: middlewares: header-aoox: headers: customResponseHeaders: X-Powered-By: aooxSimpan
aoox memeriksa struktur YAML, menulis berkas ke proxy, menunggu beberapa detik, lalu membaca log Traefik. Bila Traefik melaporkan galat tentang berkas itu, perubahan dibatalkan otomatis (versi sebelumnya dipulihkan) dan galatnya ditampilkan apa adanya.
Memasang ke domain
Di tab Domain aplikasi, tiap domain punya baris Middleware dengan tombol Atur. Pilih middleware dari berkas aktif di proxy yang melayani aplikasi itu (nama dalam bentuk nama@file). Urutan memilih adalah urutan menjalankan. Butuh peran developer ke atas; viewer hanya melihat. Menyimpan membuat ulang container aplikasi dengan label baru (tanpa build), seperti mengganti sertifikat.
- Middleware dipasang di router HTTPS domain itu, dan di router HTTP untuk domain yang dilayani lewat HTTP. Pengalihan otomatis http→https tidak memakainya.
- Domain dengan daftar middleware yang sama berbagi satu router; daftar berbeda dipisah otomatis, jadi middleware satu domain tidak memengaruhi domain lain.
- Middleware yang dipakai domain tidak bisa dinonaktifkan, dihapus, atau diganti namanya (409, domainnya disebut). Lepas dari domain dulu.
- Nama yang tidak ada di berkas aktif pada proxy aplikasi itu ditolak (400).
Proxy dari aoox versi lama
Terapkan ulang
Tombol Terapkan ulang menulis ulang semua berkas aktif ke proxy dan membersihkan berkas user-* yang sudah tidak ada di aoox. Pakai setelah restore instance (restore memulihkan isi berkas di database tetapi tidak menulis volume proxy), setelah proxy atau server dipasang ulang, atau bila berkas di volume berubah di luar aoox.
Batas waktu baca dan unggahan besar
aoox tidak membatasi ukuran body request di Traefik (tanpa middleware buffering), jadi unggahan 55 MB tidak ditolak karena ukurannya. Yang bisa memutusnya adalah readTimeout pada entrypoint Traefik: waktu terlama yang boleh dipakai klien untuk mengirim satu request utuh, termasuk body. Bawaan Traefik 60 detik; koneksi lambat yang butuh lebih lama diputus sebelum aplikasi menerima body selengkapnya.
- Atur Batas waktu baca proxy di Infrastruktur → Environment (owner), atau
PROXY_READ_TIMEOUTdi.env.dist: detik utuh (300) atau durasi (300s,5m), 1 sampai 86400. Kosong berarti bawaan Traefik; nilai yang tidak valid diabaikan dengan peringatan di log API. - Ini konfigurasi statis proxy, jadi baru berlaku setelah proxy dipasang ulang: pakai Pasang ulang proxy di halaman Reverse proxy (beberapa detik tanpa layanan; sertifikat dan rute tetap). Halaman itu menampilkan nilai yang dipakai proxy yang berjalan dan memperingatkan bila berbeda dari pengaturan.
- Pengaturan ini milik panel dan diterapkan ke setiap proxy yang dipasang aoox, termasuk di server remote (pasang ulang dari Server remote).
- Sesuatu di depan Traefik punya batas sendiri. Misalnya domain lewat proxy Cloudflare (awan oranye) membatasi ukuran body menurut paket dan menyerah menunggu respons sekitar 100 detik, berapa pun nilai di sini.
Batas
- Hanya konfigurasi dinamis. Opsi statis Traefik (entrypoint, level log, IP tepercaya) tidak bisa diubah dari sini, kecuali batas waktu baca di atas.
- aoox hanya menangkap galat yang dicatat Traefik. Nilai yang keliru tetapi tidak dilaporkan (mis. URL service yang tidak valid) lolos, jadi uji hasilnya setelah menyimpan.
- Konfigurasi yang valid tetap bisa mengubah perutean semua domain di proxy itu (router buatanmu bisa bertabrakan dengan rute aplikasi). Karena itu hanya owner yang boleh menulis.
- Server remote: ditulis lewat jalur yang sama, tetapi belum diuji pada server sungguhan; pastikan berkas yang dibutuhkan ada di proxy server tujuan sebelum memindahkan aplikasi.
- Berkas bersifat per proxy dan tidak ikut ekspor/impor project; domain hasil impor tidak punya middleware (impor tetap berhasil bila sumbernya memakainya).
- Memindahkan aplikasi ke server lain membersihkan middleware domainnya: hanya yang namanya didefinisikan berkas aktif di proxy tujuan yang dipertahankan, sisanya dibuang (dicatat di log API; respons PATCH aplikasi memuat
droppedMiddlewaresbila ada yang dibuang). Berkasnya sendiri tidak ikut pindah.
Jebakan umum
| Gejala | Penyebab & solusi |
|---|---|
| 400: Traefik rejected the file | Traefik menolak isi berkas (opsi tidak dikenal, tipe salah, router merujuk middleware yang tidak ada, rule rusak). Versi sebelumnya sudah dipulihkan; perbaiki sesuai kutipan galat. |
| 400: sudah dideklarasikan di berkas lain | Nama middleware/router/service harus unik per proxy. Ganti nama atau hapus yang lain. |
| 409: masih dipakai domain | Lepas middleware dari domain (tab Domain) sebelum menonaktifkan, menghapus, atau mengganti namanya. |
| 409: proxy akan dibuat ulang | Proxy lama; konfirmasi pembuatan ulang satu kali (beberapa detik tanpa layanan). |
| Middleware terpasang tetapi tidak berlaku | Domain belum menyimpan perubahan (container dibuat ulang saat disimpan), atau proxy belum berjalan; lihat peringatan setelah menyimpan. |
| Basic auth selalu 401 | Password salah, atau ada proxy lain (mis. Cloudflare) di depan yang menambah header Authorization. |
Langkah berikutnya
Ada yang keliru? Edit halaman ini di GitHub ↗