Если кто-то может мне помочь, я буду очень признателен.У меня есть один запрос GET к API, который занимает некоторое время для выполнения.Если запрос занимает менее 60 секунд, все работает нормально.Но если у меня больше 60 секунд, я получаю сообщение об ошибке file_get_contents (= мой запрос =): не удалось открыть поток: не удалось выполнить HTTP-запрос!HTTP / 1.1 502 Bad Gateway
В журнале: сброс соединения по пиру при чтении заголовка ответа из апстрима
Я прочитал много постов и статей, но ничего не работает.Среднее время получения ответа от API составляет около 70-80 секунд.Я использую Laravel (php) и nginx.
Мой скрипт:
$urlRequest = getenv('URLFORAPI').'/search_name?first_name='.$first_name.'&last_name='.$second_name.'&middle_name='.$third_name.'®ionId='.$regionId;
$result = file_get_contents($urlRequest);
$array = json_decode($result, true);
В файле журнала:
2019/09/26 18:29:31 [error] 26366#26366: *19 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: = my ip =, server: = my server =, request:$
2019/09/26 18:37:39 [error] 26731#26731: *23 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: = my ip =, server: = my server =, request:$
2019/09/27 06:21:07 [error] 7118#7118: *48 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: = my ip =, server: = my server =, request: "$
2019/09/27 07:59:12 [error] 13498#13498: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client:= my ip =, server: = my server =, request: $
2019/09/27 08:12:47 [error] 1069#1069: *3 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: = my ip =, server: = my server =, request: "G$
2019/09/27 12:24:42 [error] 8235#8235: *1 connect() failed (111: Connection refused) while connecting to upstream, client: = my ip =, server: = my server =, request: "GET /images/icons/f$
Добавлено в php.ini:
memory_limit = 8192M
default_socket_timeout = 600
max_execution_time = -1
max_input_time = -1
Я добавил в / etc /nginx / nginx.conf
keepalive_timeout 600;
worker_connections 1024;
client_max_body_size 100m;
client_header_timeout 1200s;
client_body_timeout 1200s;
keepalive_requests 10000;
proxy_connect_timeout 1200s;
proxy_send_timeout 1200s;
proxy_read_timeout 1200s;
send_timeout 1200s;
fastcgi_read_timeout 900s;
fastcgi_send_timeout 900s;
/ etc / php / 7.3 / fpm / pool.d / www.conf
pm.max_children = 40
pm.start_servers = 15
pm.min_spare_servers = 1
pm.max_spare_servers = 25
pm.max_requests = 500
request_terminate_timeout = 5m
request_slowlog_timeout = 5m
set_time_limit (0) не работает.
После всех изменений перезагрузка sudo /etc/init.d/nginx и перезапуск службы sudo php7.3-fpm
Я разочарован этим.Мне потребовались часы, чтобы это исправить.Есть идеи?