Задать вопрос

Как отследить, почему curl подключается к серверу через раз?

Здравствуйте. Есть 2 сервера. Один в Германии, один в Казахстане. На обоих стоит Debian 7. Раз в 10 минут германский сервер бегает на казахстанский за данными и сохраняет их в Redis. Данные забираются через php + curl.

Все давно уже было настроено и работало, но в последнее время появилась проблема: примерно один раз из трех curl не может подключиться к серверу. Приходит ответ: "curl: (7) couldn't connect to host". При этом казахстанский сервер отлично пингуется как с домашней машины, так и с немецкого сервера. Никаких работ на серверах перед появлением ошибки не проводилось и новые пакеты не ставились, кроме обновлений.

Оба провайдера уверяют, что с их стороны проблем с сетью нет.
Подскажите, в какую сторону копать, чтобы найти причину?

Конфиг nginx-а
upstream backend {
	server 127.0.0.1:88;
}

##
# Virtual Host Configs
##

server {
	listen    ipaddress:80;
	server_name domain.kz; 
	access_log  /var/log/nginx/domain.access.log;
	server_name_in_redirect off;
	
	location ~ /\.ht {
		deny  all;
	}

	location / {
		proxy_pass      http://backend/;
		proxy_redirect    off;
		proxy_set_header  Host $host;
		proxy_set_header  X-Real-IP $remote_addr;
		proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
		client_max_body_size 10m;
		proxy_connect_timeout 120;
		proxy_send_timeout 120;
		proxy_read_timeout 180;
	}

	location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|js)$ {
	  root /var/www/domain.kz/www/;
	}
}
  • Вопрос задан
  • 3146 просмотров
Подписаться 4 Оценить 11 комментариев
Решения вопроса 1
sanekglobov
@sanekglobov Автор вопроса
Проблема была с маршрутом следования пакетов. Иногда маршрут менялся на нерабочий и пакеты терялись. Найти причину получилось с помощью замечательной утилиты mtr. Помочь могла смена анонсирования ip-адресов, но провайдер сказал что такого не умеет. Видимо, в это же время на проблемном маршруте починили косячный узел и проблема решилась сама собой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Slavenin999
@Slavenin999
программист php/erlang/elixir/js
пустить трафик через прокси и смотреть логи
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы