Mengatasi Error 400 Bad Request Setelah Upgrade Zimbra

Posted by

Beberapa hari yang lalu saya melakukan ujicoba upgrade sistem Zimbra pada salah klien. Sebelumnya mereka menggunakan Zimbra 8.7.1 NE, dan dilakukan ujicoba upgrade ke Zimbra terbaru 8.8.10 NE.

Skema server menggunakan multi server dengan jumlah 5 buah server yang terdiri dari 1 LDAP, 1 Proxy, 1 MTA, 1 Mailbox dan 1 Logger. Setelah semua berhasil di upgrade ke Zimbra 8.8.10, saya coba test akses webmail via proxy, kok tidak bisa dan muncul error 400 Bad Request pada layar browser. Kemudian saya coba bandingkan jika akses webmail langsung ke server mailbox tanpa lewat proxy, ternyata lancar jaya tanpa kendala. Berarti bisa didapat kesimpulan pertama yaitu masalahnya ada pada server proxy zimbra tersebut.

Kemudian saya coba test kembali akses webmail via proxy, akses menggunakan IP maupun menggunakan nama mail, ternyata hasilnya sama saja, tetap error 400 Bad Request. Langkah eskalasi awal yang saya coba yaitu saya edit di bagian zimbraReverseProxyMailMode yang sebelumnya mode redirect, artinya ketika akses http akan langsung redirect ke https, saya coba ubah menjadi mode both, yang artinya bisa diakses dalam mode http maupun https.

Kemudian saya coba akses kembali menggunakan IP dengan mode http biasa, dan ternyata bisa diakses. Selanjutnya saya bandingkan akses dengan mode https, muncul error 400 Bad Request kembali. Berarti didapat kesimpulan kedua, yaitu masalahnya ketika akses https saja.

Langkah selanjutnya yaitu saya coba testing akses dengan menggunakan nama misal https://mail.namadomain.com masih muncul error tersebut. Kemudian saya coba akses menggunakan nama dari di server proxy tersebut, misal nama servernya proxy.namadomain.com, saya coba akses dari browser menggunakan nama tersebut, https://proxy.namadomain.com dan ternyata bisa diakses dan saya lanjut login juga bisa. Berarti kesimpulan ketiga, webmail hanya bisa diakses jika menggunakan nama si server proxy itu sendiri, artinya kita tidak bisa binding ke nama lain, misal mail ataupun webmail.

Terkait hal ini, saya coba cari referensi dari forum zimbra, namun tidak ketemu, kemudian saya coba cari di forum nginx, ditemukan kasus yang hampir serupa, yaitu ketika akses https, muncul 400 Bad Request juga, di case tersebut disebutkan dikarenakan konfigurasi Strict Server Name nya enable, dan mesti di disable atau di ignore. Kemudian saya coba terapkan di zimbranya dan cari konfigurasi Strict Server Name tersebut di sisi proxy zimbranya.

su - zimbra
zmprov gs `zmhostname` | grep -i strict
zimbraMtaRestriction: reject_non_fqdn_sender
zimbraMtaRestriction: check_policy_service inet:127.0.0.1:10031
zimbraMtaSmtpdClientRestrictions: reject_unauth_pipelining
zimbraMtaSmtpdDataRestrictions: reject_unauth_pipelining
zimbraMtaSmtpdSenderRestrictions: reject_authenticated_sender_login_mismatch
zimbraReverseProxyStrictServerNameEnabled: TRUE

Ternyata ada konfigurasi Strict Server Name dengan value TRUE, saya pikir sepertinya ini penyebabnya. Akhirnya saya set menjadi FALSE pada Strict Server Name tersebut.

zmprov ms `zmhostname` zimbraReverseProxyStrictServerNameEnabled FALSE
zmproxyctl restart

Setelah dijalankan command tersebut, saya test akses webmail kembali, saya test menggunakan IP dahulu dengan mode https, dan taraaaa ternyata sudah bisa diakses kembali, kemudian saya test akses webmail dengan menggunakan nama mail, ternyata sudah bisa diakses juga.

Jadi setelah proses upgrade kemudian test akses webmail via proxy tidak bisa serta muncul error 400 Bad Request, ada kemungkinan konfigurasi Strict Server Name nya menjadi TRUE, entah ini memang karena upgrade sehingga Strict Server Name nya menjadi TRUE, atau memang sebelumnya sudah di set TRUE namun di versi sebelumnya masih tetap bisa diakses, dan setelah di upgrade menjadi tidak bisa. Pastikan saja untuk Strict Server Name tersebut di set FALSE untuk mengatasi masalah yang pernah saya alami diatas hehehe 😀

Mungkin cukup sekian, semoga bermanfaat.

 

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.