Тайм-аут Nginx.502 Неверный шлюз.Laravel.Сброс соединения по пиру при чтении заголовка ответа из восходящего потока - PullRequest
1 голос
/ 27 сентября 2019

Если кто-то может мне помочь, я буду очень признателен.У меня есть один запрос 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.'&regionId='.$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

Я разочарован этим.Мне потребовались часы, чтобы это исправить.Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...