Menyelesaikan masalah Nginx yang bertindak tidak mengikut konfigurasi

Saya menghabiskan masa hampir 3jam untuk membuat reverse proxy berjalan dengan betul. Pada mulanya segala konfigurasi yang saya tulis tidak berkesan walaupun saya telah merujuk pelbagai forum dan artikel. Saya reload konfigurasi menggunakan sudo systemctl reload nginx.

Kemudian setelah berjam lamanya saya agak musykil dan mengesyaki sesuatu yang pelik berlaku kerana saya sedar segala konfigurasi yang saya taip, tidak dipatuhi. Malah saya cuba membuang bahagian location /path {} tetapi Nginx masih mengunakan bahagian yang telah saya buang itu.

Apa yang saya lakukan adalah restart Nginx dengan systemctl restart nginx dan saya dapati Nginx gagal memuat semula kerana ketiadaan 1 folder yang berada di dalam konfigurasi. Saya membetulkan masalah itu lalu restart Nginx semula. Setelah itu, semua berfungsi secara yang saya kehendaki.

Pengajarannya adalah, sentiasa memastikan Nginx berjalan dengan baik sebelum mengubah konfigurasi.
Anda boleh menyemak sebarang kesilapan pada konfigurasi Nginx dengan menaip sudo nginx -t.

Kesimpulannya, restart proses Nginx sekiranya Nginx tidak mematuhi konfigirasi yang telah anda tulis.

Http error 499 Nginx

Pertama kali saya melihat kod ralat ini, saya agak runnsing kerana carian di Google tidak membantu. Cuma informasi yang saya dapat adalah, kod ini khas untuk Nginx dan terjadi apabila klien memutuskan hubungan sebelum Nginx sempat memberikan kod respon.

Setelah saya siasat, saya mengesyaki puncanya adalah dari PHP-FPM. Ini kerana Nginx berfungsi dengan baik, tetapi fail PHP memgambil masa amat lama apabila dibuka dan akhirnya berakhir dengan timeout. Kemudian saya dapati ini adalah kerana kesilapan saya dalam kod PHP di mana while loop berjalan tanpa henti (infiniti). Apa yang saya lakukan adalah memberhentikan PHP-FPM

$ sudo systemctl stop php7.1-fpm

Kemudian saya betulkan kesalahan kod PHP tadi, lalu menghidupkannya semula:

$ sudo systemctl start php7.1-fpm

[Cloudflare][Caddy][Nginx] ERR_TOO_MANY_REDIRECTS

Selepas memasang Caddy dan mengaktifkan SSL pada domain yang menggunakan Cloudflare, saya menerima error daripada browser Chrome.

The page isn’t working
  your.domain redirected you too many times.
 - [Try clearing your cookies](https://support.google.com/chrome?p=rl_error&hl=en-US).
ERR_TOO_MANY_REDIRECTS

Cara untuk menyelesaikan masalah ini agak mudah. Di dalam tetapan Cloudflare, anda cuma perlu menukar SSL daripada Flexible kepada Full.

Boleh juga diaplikasikan sekiranya anda menggunakan Nginx.