Reverse proxy dan URL base
Penyiapan
Taruh HolyArrs di alamat seperti https://home.example/holyarrs di balik reverse proxy kamu.
Reverse proxy adalah web server di depan aplikasi kamu yang mengarahkan tiap alamat ke container yang tepat. URL base adalah path tempat HolyArrs berada.
Atur path
Tautan ke Atur path-
Tambahkan path ke file Compose kamu:
services:holyarrs:environment:- HOLYARRS_URL_BASE=/holyarrs -
Restart container.
-
Tambahkan aturan proxy dari Contoh proxy.
-
Buka
https://home.example/holyarrs/. Kamu akan melihat halaman login. Settings > This app (Pengaturan > Aplikasi ini) menampilkan path yang sedang dipakai.
Pilihan
Tautan ke PilihanDi mana path diatur
Tautan ke Di mana path diatur| Di mana | Berlaku |
|---|---|
HOLYARRS_URL_BASE |
Saat start. Menang atas yang lain. |
Flag -url-base /holyarrs |
Saat start, kalau variabelnya tidak diatur. |
| Settings > This app | Pada start berikutnya, hanya kalau variabel dan flag sama-sama tidak diatur. |
Contoh proxy
Tautan ke Contoh proxynginx-proxy-manager. Buat proxy host untuk domain kamu, lalu tambahkan custom location:
- Location:
/holyarrs - Forward hostname
holyarrs, port6262. Tanpa garis miring di akhir, atau path-nya terhapus. - Di kotak gerigi location itu:
proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_buffering off;proxy_read_timeout 1h;Traefik. Jangan tambahkan middleware StripPrefix.
labels: - traefik.enable=true - traefik.http.routers.holyarrs.rule=Host(`home.example`) && PathPrefix(`/holyarrs`) - traefik.http.services.holyarrs.loadbalancer.server.port=6262Caddy. Pakai handle. handle_path menghapus path.
home.example { handle /holyarrs* { reverse_proxy holyarrs:6262 { flush_interval -1 } }}Nama host dan alamat proxy
Tautan ke Nama host dan alamat proxy- Kalau orang membuka HolyArrs lewat nama host, tambahkan nama itu ke
HOLYARRS_ALLOWED_HOSTS. - Kalau proxy menambahkan
X-Forwarded-For, tambahkan alamat proxy keHOLYARRS_TRUSTED_PROXIES. Tanpa itu, login tidak bisa tahu siapa yang ada di jaringan rumah kamu.
Kalau tidak berhasil
Tautan ke Kalau tidak berhasil| Gejala | Penyebab | Solusi |
|---|---|---|
| Setiap halaman bilang tidak ditemukan | Proxy menghapus path | Hapus pengaturan strip atau garis miring di akhir. |
| Update langsung tidak pernah sampai | Proxy menahan respons di buffer | Nonaktifkan buffering (proxy_buffering off, flush_interval -1). |
| Path yang tersimpan mengunci kamu dari aplikasi | Path yang tersimpan salah | Mulai dengan HOLYARRS_URL_BASE=/ untuk mengabaikannya. |
| Login menganggap kamu berada di luar jaringan rumah | Proxy tidak dipercaya | Kirim X-Real-IP dan X-Forwarded-For, dan atur HOLYARRS_TRUSTED_PROXIES. |
Solusi lain: Pemecahan masalah.
Untuk yang mahir
Tautan ke Untuk yang mahirAturan path
- Karakter yang diizinkan: huruf, angka,
-,_,.dan/. Tanpa..atau//. holyarrs,/holyarrsdan/holyarrs/semuanya berarti/holyarrs.- Path tersimpan yang tidak valid diabaikan.
- Semuanya pindah ke bawah path: halaman, API, update langsung, login, dan tautan yang dibuat HolyArrs (tautan undangan, feed kalender).
/healthzdan/readyzjuga menjawab di root, jadi pemeriksaan kondisi bawaan image tetap berfungsi.- Alamat lain di luar path menjawab tidak ditemukan.
Yang harus dilakukan proxy
| Kebutuhan | Alasan |
|---|---|
| Teruskan path apa adanya | HolyArrs mengarahkan berdasarkan path lengkap. |
Pertahankan header Host |
Pemeriksaan host dan tautan yang dibuat memakainya. |
| Tanpa buffering respons | Update langsung dialirkan lewat satu respons yang terbuka. |
| Read timeout panjang (1 jam) | Aliran update langsung tetap terbuka. |
Terkait
Tautan ke TerkaitHolyArrs gratis. Kalau ini menghemat waktumu, beri bintang di GitHub, jadi sponsor atau traktir saya kopi.