В настоящее время мы используем Kafka версии 2.11 и KafakConnect 2.0.0, которые являются частью дистрибутива hortonworks, который мы получили. Мы включили аутентификацию Rest API basi c, добавив ее в connect.distributed.properties
listeners=https://${hostname}:${restPort}
и выполнив все упомянутые шаги здесь .
Теперь все работает, и мы можем использовать basi c auth во всех операциях GET и POST на ведущем узле, в то время как только рабочие операции GET работают на рабочих узлах. Когда мы пытаемся выполнить операцию POST на рабочем узле, мы получаем эту ошибку -
{"error_code":500,"message":"IO Error trying to forward REST request: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header"}
В соответствии с сообщением совершенно очевидно, что работник пытается переслать запрос POST / DELETE в Leader. и это не в состоянии сделать это. Пример неудачного запроса DELETE выглядит следующим образом:
curl -X DELETE -i -H 'Accept:application/json' -H 'Authorization:Basic base64encodedpassword' https://hostname:18084/connectors/someconnector
Пожалуйста, помогите, если кто-то сталкивался с этой проблемой ранее. Может быть, что-то не так в формировании моего запроса на отдых, но он отлично работает, когда выполняется на лидере кластера ...