1

У меня есть выделенный сервер под управлением Ubuntu 10.04.

Попытка доступа к определенному URL-адресу (служба API на основе HTTP) приводит к тайм-ауту. Я пробовал curl, wget и другие.

До недавнего времени все работало нормально. Я могу получить доступ к URL с моего локального компьютера и других серверов.

Хотя, похоже, провайдер API, возможно, заблокировал входящие запросы от моего сервера, это очень маловероятно, потому что API использовался очень редко.

Каковы лучшие способы отладки? В каких местах я могу проверить, не блокирует ли мой сервер или сеть этот исходящий запрос?

1 ответ1

0

Одна из вещей, которую нужно попробовать - это перехватить трафик, покидающий ваш компьютер (и ваш маршрутизатор, если у вас есть маршрутизатор Linux). Вы можете сделать это с помощью tcpdump. Например, если IP-адрес сайта, на который вы идете, равен «1.2.3.4», протокол HTTP и ваше интернет-соединение установлено на eth0, вы можете попробовать (как root)

tcpdump -n -i eth0 src or dst 1.2.3.4 and port 80

а затем перейдите по URL-адресу, чтобы узнать, поступают ли пакеты с вашего ящика. Если вы видите пакеты в обоих направлениях, вы можете попробовать

tcpdump -A -s 1500 -n -i eth0 src or dst 1.2.3.4 and port 80 | tee hit.dump

Получить дамп трафика, входящего и выходящего из вашего ящика (или сети).

Если TCPDump показывает, что пакеты уходят, но не входят в вашу сеть, вам следует дважды проверить свои правила iptables (но это вряд ли будет проблемой). Вы можете перечислить их с

/sbin/iptables -vnL

и проверка выходных данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .