Проблема с Curl на удаленном сервере из-за кеширования удаленного сервера - PullRequest
0 голосов
/ 17 октября 2019

Актуальная проблема:

У меня 2 сервера. Скажите A и B, где оба находятся в одном домене. Я запускаю NodeJS на сервере A и Elasticsearch(also provides API endpoints only) на сервере B.

Теперь я попытался подключиться к серверу B с сервера A через приложение NodeJs. Сервер B дал желаемый результат.

Я подумал bring down Elasticsearch и отключил его.

Я попытался снова ударить по серверу B с сервера A, и все же он дает положительный результат. результат. Это должно быть похоже на «соединение отказано / не может быть установлено» что-то в этом роде.

Я не знаю, является ли сервер B caching the response и возвращает.

Мы попытались установить соединение с сервером Bчерез IP-адрес вместо имени хоста, и это сработало.

попытался очистить кэш сервера, но безуспешно

На сервере A: curl -X GET <hostname-of-ServB>:9600

Когда Elasticsearch запущен:

{"host":"<hostname-of-ServB>","version":"6.4.2","http_address":"<ip-of-ServB>:9600","id":"668c01f-b763fb13da0e","name":"mdm-elk-itg","build_date":"2018-09-26T14:32:44Z","build_sha":"9c961fd0040959de5f751223279a86e6e","build_snapshot":false}

Когда он выключен (ожидается):

connect to address <ip-of-ServB>: Connection refused

Даже если Elasticsearch в ServB не работает, он выдает тот же результаткак когда он запущен и работает. Я не знаю почему. Есть ли какое-либо кэширование на сервере B? Очень сбивает с толку :(

Но если я попробую CURL с IP ServB вместо имени хоста, он будет работать нормально. Также telnet to IP работает как положено.

...