Создание SQL-запроса с помощью curl с базовой аутентификацией доступа

Из документации crate.io мне сказали, что SQL-запрос можно выполнить следующим образом:

curl -sSXPOST 'CLUSTER_IP:4200/_sql?pretty' -d '{"stmt":"select name from sys.cluster"}'

База данных, к которой я пытаюсь подключиться, требует имя пользователя и пароль:

Авторизация

Как я могу встроить эту аутентификацию в вызов curl? Я пробовал несколько вариантов того, что нашел в Интернете, но безуспешно. Ошибка, которую я постоянно вижу, выглядит так:

введите здесь описание изображения


person AlexG    schedule 06.01.2017    source источник


Ответы (2)


По умолчанию CrateDB не обеспечивает никакой аутентификации. Может быть, вы используете HTTP-прокси или балансировщик нагрузки с аутентификацией перед ним? НГИНКС? Вместо этого попробуйте подключиться к одному из серверов CrateDB.

person Jodok Batlogg    schedule 06.01.2017
comment
Спасибо за совет. Я думаю, мне придется спросить человека, который создал базу данных. - person AlexG; 07.01.2017
comment
Ты прав. Оказывается, это обратный прокси-сервер, использующий NGINX с базовой HTTP-аутентификацией. - person AlexG; 09.01.2017

Запрос работал, когда я включил учетные данные для входа следующим образом:

curl -sSXPOST 'username:password@hostname:port/_sql?pretty' -d '{"stmt":"select name from sys.cluster"}'

person AlexG    schedule 09.01.2017