Опции:
Добавление Content-Length: 0
заставляет клиента игнорировать содержимое, даже если оно есть есть в этом случае. Так что это может сломать другое программное обеспечение для проверки. В вашем случае длина содержимого составляет 42 байта (поэтому добавьте Content-Length: 42
) в случае синхронизированного узла и 46 байтов в случае несинхронизированного узла.
# curl localhost:9200
Percona XtraDB Cluster Node is synced.
Я отправлю обновленный скрипт так что это будет также исправлено в новой версии пакета Percona XtraDB Cluster.
Я добавил заголовок Content-Length: 0
к ответу clustercheck, который, похоже, выполняет трюк для проверки работоспособности Amazon. Если у кого-нибудь есть лучший способ, дайте мне знать
Я также заметил, что вы используете сценарий на локальном хосте. Вы также можете выполнить clustercheck в командной строке и проверить возвращаемое значение.
В случае синхронизированного узла:
# /usr/bin/clustercheck > /dev/null
# echo $?
0
В случае несинхронизированного узла:
# /usr/bin/clustercheck > /dev/null
# echo $?
1
Я решил подобную проблему, используя
echo -en "HTTP/1.1 200 OK\r\n" | cat
вместо
echo -en "HTTP/1.1 200 OK\r\n"