I'm using PHP and Apache with nginx for a reverse proxy, all on Docker, and I have a couple of long running calls that are timing after 60 seconds, resulting in a 504 Gateway Time-out. I know my app is being called successfully because I'm tailing my PHP app's log and I can see it actively writing to the log. Every single time it's a 60 second timeout, but I can't seem to figure out where that setting is.
I tried the suggestions in this post, but nothing worked. I've updated my php.ini file with a few time related settings and I've verified they're being set with phpinfo
max_input_time = 0
max_execution_time = 500
I also increased the memory limit to 512, but considering it times out in about 60 seconds every single time I don't think that's the issue.
As far as updating nginx settings, I initially followed this tutorial on adjusting nginx-proxy timeout, but that didn't work. I undid the changes, then ssh'd into the container and manually updated /etc/nginx/nginx.conf, here's what the http section looks like
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 500;
proxy_connect_timeout 600;
proxy_send_timeout 600;
send_timeout 600;
client_max_body_size 5000;
client_header_timeout 600;
client_body_timeout 600;
fastcgi_read_timeout 300;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
I made sure to run nginx -s reload
after updating the nginx.conf file. I'm not sure where else to look, because everything I've come across is pretty much what I've done already. What else could be causing nginx to timeout after 60 seconds? Thanks
Here's my PHP dockerfile
FROM php:7.2-fpm-alpine3.7
RUN apk update; \
apk upgrade;
RUN docker-php-ext-install pdo_mysql
RUN apk add --no-cache php7-pear php7-dev gcc musl-dev make
RUN pecl install xdebug
RUN pecl install -o -f redis \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis