Dari NGINX ke Caddy

Disclaimer: Tulisan ini adalah pengalaman memindahkan konfigurasi ghost & nginx  ke ghost & caddy di dalam docker, tulisan ini mencatat apa yang saya temukan dan bagaimana saya menyelesaikannya, besar kemungkinan solusi yang saya lakukan dan pengambilan kesimpulannya bukan hal yang seratus persen tepat.

Blog saya yang ini yang sedang Anda kunjungi menggunakan konfigurasi yang disebutkan di atas, blog menggunakan ghost, web server menggunakan nginx, dari awal dibuat sampai kemarin tidak ada masalah apa-apa blog berjalan dengan semestinya sampai pada suatu hari saya iseng membuat https://url-check.arsmp.com/ sebuah aplikasi sederhana untuk mengetahui alamat asli suatu url yang sudah dipendekan.

Konfigurasi aplikasi iseng saya itu sedikit berbeda, backend menggunakan fastapi, frontend menggunakan svelte dan web server menggunakan caddy, di sini kemudian saya menemukan beberapa issue:

Kondisi awal server-server saya:

  1. Server blog dan aplikasi iseng berbeda
  2. Blog menggunakan nginx dan aplikasi menggunakan caddy
  3. Dns manager untuk keduanya saya  menggunakan cloudflare

Masalah pertama
Saya set sub domain untuk aplikasi  saya di cloudflare dan hasilnya adalah error to many redirects setelah mencari ke sana kemari akhirnya di salah satu forum caddy ada yang mempunyai masalah yang sama, solusinya ternyata sederhana, dari halamman cloudflare konfigurasi tls nya wajib full atau full strict. Setelah saya mengubah konfigurasi menjadi full masalah to many redirect sudah selesai tapi muncul masalah baru.

Masalah kedua
Blog saya tidak bisa diakses, konfigurasi cloudflare dikembalikan ke kondisi awal bisa tapi aplikasi saya error lagi, akhirnya agar semua server yang saya kendalikan sama saya memutuskan ubah konfigurasi nginx ke caddy. Setelah menganti nginx ke caddy akhirnya blog ini bisa diakses kembali, tapi muncul masalah baru halaman utama bisa diakses halaman detail post tidak bisa.

Masalah ketiga
Karena dari awal yang saya ubah adalah nginx ke caddy maka saya berkutat mencari konfigurasi caddy yang tepat tapi tetap menghasilkan error yang sama, setelah sekian lama saya berasumsi jangan-jangan bukan caddy-nya tapi emang ghostnya terutama di bagian template karena setelah dibaca seksama errornya mengacu ke berkas post.hbs alias berkas template untuk menampilkan tulisan, setelah dibuka berkasnya benar saja di bagian javascript ada satu tag yang tidak tertutup dengan benar.

Massalah ini saya tidak mengerti, saya tidak mengubah satu baris kode dari template ghost saya hanya mengubah nginx ke caddy, apakah toleransi nginx lebih fleksibel dan caddy lebih ketat? Saya tidak tahu, tapi setelah berkas post.hbs diperbaiki blog baik halaman utama maupun detail tulisan bisa digunakan kembali.