Мой запрос cURL работает с сервера, но не с другого - PullRequest
0 голосов
/ 27 февраля 2020

У меня проблема с запросом cURL от провайдера. Мы пытаемся сделать диалоговое SMS, и у нас появилась страница Webhook, где можно получить информацию, когда клиент отвечает на SMS.

Запрос, отправленный провайдером на наш сервер, не вызывает нашу страницу веб-крюка (истекло время ожидания соединения).

Однако, когда я пытаюсь выполнить точно такой же запрос с другого внешнего сервера, он отлично работает.

Это запрос:

curl -v -m 10 -X POST "mywebhookURL" -d '{"snapshotId":1354567,"accountId":"560a643cf2817caf0ed9","campaignId":"5e5780004e57014a4bb2a","contact":{"id":"5d28884406b97c176f8fc","identifier":"","countryCode":33},"replyMessage": "30000","event": "reply","eventDate": 1473429780000}'

Мой провайдер получает ответ:

Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying IP Address...
*   Connection timed out after 10001 milliseconds
*   Closing connection 0
curl: (28) Connection timed out after 10001 milliseconds

С другого сервера:

Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying IP Address...
*   TCP_NODELAY set
*   Connected to Server URL (IP Address) port 443 (#0)

Почему у меня должно быть два разных ответа для одного и того же запроса cURL с двух разных серверов на один и тот же URL-адрес сервера?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 28 февраля 2020

Может быть много причин, по которым URL-адрес доступен с одного сервера, а с другого он не является

  1. Различные правила на сервере firewal
  2. Различные конфигурации сети на клиентах (DNS, маршрутизация)
  3. Клиенты могут использовать прокси
  4. У одного клиента очень медленная сеть

Попробуйте сузить проблему. Я бы начал с:

  1. звоните ping server_ip с обоих клиентов
  2. звоните ping server_name с обоих клиентов

и посмотрите, есть ли разница между указанными выше командами, выполняемыми на обоих клиентах.

...