How to debug 504 gateway timeout ​
WARNING
Applies to VoipNow 3.x.x and higher!
Sometimes, when accessing the VoipNow interface and the Call Reports area in particular, an error stating "504 Gateway timeout" might occur. This means that the web server (Nginx) could not get a response from the backend (PHP script).
This might occur because of the following reasons:
- the high number of call records in MySQL and the extended processing they require;
- a possible PHP error; you can find out more about this in
/usr/local/voipnow/admin/log/php_error.log; - a possible server issue (low CPU, memory, IO, etc).
Step-by-step guide ​
There is no perfect solution for this because it requires extensive debugging. However, you can use the workaround described below:
Make a backup of
/usr/local/httpsa/etc/httpsa-admin.confusing the following command:bashcp /usr/local/httpsa/etc/httpsa-admin.conf /usr/local/httpsa/etc/httpsa-admin.conf.bkEdit
/usr/local/httpsa/etc/httpsa-admin.confand add the following lines in the http section before INCLUDE. This will increase specific read/send timeouts to 120 seconds.bashproxy_connect_timeout 120s; proxy_send_timeout 120s; proxy_read_timeout 120s; fastcgi_send_timeout 120s; fastcgi_read_timeout 120s;Restart the httpsa service using the following command:
bashservice httpsa restart
If the issue persists, it is recommended to contact the Professional Services team.