Актуальная проблема:
У меня 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 работает как положено.