Cara Menambah Request Timeout di NGINX

blog-image

Secara default, batas waktu permintaan NGINX adalah 60 detik. Terkadang kita mungkin perlu menambah waktu tunggu permintaan di NGINX untuk melayani permintaan yang berjalan lama. Jika kita tidak meningkatkan nilai batas waktu permintaan, NGINX akan memberikan error “504: Gateway Timeout”. 

Berikut langkah-langkah untuk menambah waktu tunggu permintaan di NGINX.

1. Buka file konfigurasi NGINX

Buka terminal dan jalankan perintah berikut untuk membuka file konfigurasi NGINX di editor teks.


    $ sudo vi /etc/nginx/nginx.conf

File NGINX mungkin terletak di /usr/local/nginx/conf, /etc/nginx, atau /usr/local/etc/ nginx tergantung pada versi nginx yang digunakan.

2. Menambahkan Request Timeout di NGINX

Jika ingin menambah waktu tunggu permintaan menjadi 300 detik, tambahkan proxy_read_timeout, proxy_connect_timeout, perintah proxy_send_timeout ke blok http atau blok server


    http {
        #...
        proxy_read_timeout 300;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        #...
    }

Dalam kasus di atas, waktu tunggu permintaan akan ditingkatkan untuk semua server di file konfigurasi NGINX. Jika ingin menambah waktu tunggu permintaan hanya untuk server atau subdomain tertentu, tambahkan perintah proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout untuk blok servernya.


    server {
        #...
        proxy_read_timeout 300;
        proxy_connect_timeout 300;
        proxy_send_timeout 300; 
        #...
    }

Jika ingin menambah permintaan waktu tunggu hanya untuk folder atau URL tertentu, maka tambahkan proxy_read_timeout, proxy_connect_timeout, perintah proxy_send_timeout untuk blok lokasi spesifik tersebut.


    location /upload {
        #...
        proxy_read_timeout 300;
        proxy_connect_timeout 300;
        proxy_send_timeout 300; 
        #...
    }

Untuk nilai yang besar, kita juga dapat menentukan satuan waktu seperti 1d untuk 1 hari.

3. Restart NGINX

Terakhir, jalankan perintah berikut untuk memeriksa sintaks file konfigurasi yang telah diperbarui.


    $ sudo nginx -t

Jika tidak ada error, jalankan perintah berikut untuk memulai ulang server NGINX.

Untuk debian / ubuntu


    $ sudo service nginx reload

Untuk redhat / centos


    $ systemctl restart nginx
    

Itu dia! Semoga tutorial di atas bisa membantu meningkatkan request timeout di NGINX.

Sumber: https://ubiq.co/tech-blog/increase-request-timeout-nginx/