Mengedit halaman error Nginx

Nginx memiliki halaman error sendiri yang akan muncul kalau si pengunjung mengakses halaman yang tidak ada (404 – Not Found), dilarang (403 – Forbidden), memang bermasalah di server (500 – Internal Server Error) dan masih banyak lagi jenisnya. Nah… seperti kita tahu tampilan defaultnya adalah sangat polos, cuma halaman putih dengan kode errornya dan nama web server disertai versinya. Sudah itu saja.

Jelas kalau ada waktu luang atau memang ingin mempercantik tampilannya agar senada websitenya kita mencari dimana ini file .html untuk diedit. Tapi ternyata setelah mencari di lokasi virtual host atau di direktori Nginx itu sendiri juga tidak ketemu. Mencarinya dengan perintah find saja tidak ada hasil yang relevan. Apanya yang salah kan? Jelas – jelas ada templatenya kok tidak berhasil mengetahui dimana filenya. Jangan panik dulu, saya dulu juga mengalami hal yang sama dan kesalahan bukan dari servernya ataupun kita. Kenapa? Karena halaman error Nginx itu sudah dihardcode ke softwarenya sendiri, jadi tidak ada yang bisa diubah dari sisi pengguna.

Tapi jelas ada solusinya, yaitu kita menginstruksikan Nginx agar menggunakan custom error page yang telah kita buat untuk setiap kode HTTPnya. Jadi kita bisa mengedit nginx.conf atau di konfigurasi virtual hostnya, dan letakkan kode berikut dalam blok server:

        error_page 403 /403.html;
        location = /403.html {
                root /lokasi/halaman/error;
                internal;
        }

        error_page 404 /404.html;
        location = /404.html {
                root /lokasi/halaman/error;
                internal;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /lokasi/halaman/error;
                internal;
        }

Ganti /lokasi/halaman/error dengan letak file html yang akan dimuat saat terjadi error, tentu saja sesuai dengan kode kesalahannya biar konsisten. Sedangkan kata internal fungsinya agar halaman error tersebut tidak bisa diakses langsung oleh pengunjung, jadi hanya bisa tampil kalau memang benar – benar terjadi masalah.

Jangan lupa membuat halaman HTML yang berisi informasi errornya juga kedalam lokasi yang telah ditentukan. Kalau anda hanya menyisipkan kode diatas begitu saja tanpa mempersiapkan custom error pagenya… ya sama saja bohong jadinya. Haha. 😀 Pengalaman pribadi ini. 😛

Semoga bermanfaat. 🙂

Tinggalkan komentar