Kafka Connect in Distributed mode with Basic Authentication

120 views
Skip to first unread message

Jessica Thurston

unread,
Jul 17, 2019, 4:40:08 PM7/17/19
to Confluent Platform
Has anyone had success with using Kafka Connect in Distributed mode with Basic Authentication?
GET Requests are working fine, but when we are send an authenticated PUT or POST to and endpoint such as /connectors/MyConnectorName/config 

Here is an example of some of the error messages we are seeing depending on the connect box within the distributed cluster:
 [2019-07-17 19:21:58,408] ERROR Failed to reconfigure connector's tasks, retrying after backoff: (org.apache.kafka.connect.runtime.distributed.DistributedHerder)                                              │
│ org.apache.kafka.connect.runtime.rest.errors.ConnectRestException: IO Error trying to forward REST request: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge  │
│ without WWW-Authenticate header                                                                                                                                                                                │
│     at org.apache.kafka.connect.runtime.rest.RestClient.httpRequest(RestClient.java:108)                                                                                                                       │
│     at org.apache.kafka.connect.runtime.distributed.DistributedHerder$18.run(DistributedHerder.java:1034)                                                                                                      │
│     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)                                                                                                                                 │
│     at java.util.concurrent.FutureTask.run(FutureTask.java:266)                                                                                                                                                │
│     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)                                                                                                                         │
│     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)                                                                                                                         │
│     at java.lang.Thread.run(Thread.java:748)                                                                                                                                                                   │
│ Caused by: java.util.concurrent.ExecutionException: org.eclipse.jetty.client.HttpResponseException: HTTP protocol violation: Authentication challenge without WWW-Authenticate header                          │
│     at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:118)                                                                                                         │
│     at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:101)                                                                                                               │
│     at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:683)                                                                                                                                         │
│     at org.apache.kafka.connect.runtime.rest.RestClient.httpRequest(RestClient.java:89)


and 

│ [2019-07-17 19:24:16,048] DEBUG Found protocol handler org.eclipse.jetty.client.WWWAuthenticationProtocolHandler@af86f8e (org.eclipse.jetty.client.HttpReceiver)                                               │
│ [2019-07-17 19:24:16,048] DEBUG Response begin HttpResponse[HTTP/1.1 401 Unauthorized]@ec7ea09 (org.eclipse.jetty.client.HttpReceiver)                                                                         │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Date --> VALUE (org.eclipse.jetty.http.HttpParser)                                                                                                                      │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Date --> IN_VALUE (org.eclipse.jetty.http.HttpParser)                                                                                                                   │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Date --> FIELD (org.eclipse.jetty.http.HttpParser)                                                                                                                      │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Content-Type: application/json --> IN_VALUE (org.eclipse.jetty.http.HttpParser)                                                                                         │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Content-Type: application/json --> FIELD (org.eclipse.jetty.http.HttpParser)                                                                                            │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Content-Length --> VALUE (org.eclipse.jetty.http.HttpParser)                                                                                                            │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Content-Length --> IN_VALUE (org.eclipse.jetty.http.HttpParser)                                                                                                         │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Content-Length --> FIELD (org.eclipse.jetty.http.HttpParser)                                                                                                            │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Server --> VALUE (org.eclipse.jetty.http.HttpParser)                                                                                                                    │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Server --> IN_VALUE (org.eclipse.jetty.http.HttpParser)                                                                                                                 │
│ [2019-07-17 19:24:16,048] DEBUG HEADER:Server --> FIELD (org.eclipse.jetty.http.HttpParser)                                                                                                                    │
│ [2019-07-17 19:24:16,048] DEBUG HEADER --> CONTENT (org.eclipse.jetty.http.HttpParser)                                                                                                                         │
│ [2019-07-17 19:24:16,048] DEBUG Response headers HttpResponse[HTTP/1.1 401 Unauthorized]@ec7ea09                                                                                                               │
│ Date: Wed, 17 Jul 2019 19:24:16 GMT                                                                                                                                                                            │
│ Content-Type: application/json                                                                                                                                                                                 │
│ Content-Length: 32                                                                                                                                                                                             │
│ Server: Jetty(9.4.14.v20181114) (org.eclipse.jetty.client.HttpReceiver)                                                                                                                                        │
│ [2019-07-17 19:24:16,048] DEBUG Response content HttpResponse[HTTP/1.1 401 Unauthorized]@ec7ea09```




and other times it starts to go into a loop of trying to post the following

PUT /connectors/MyConnectorNameHere/config?forward=true HTTP/1.1" 401 32  1 
Reply all
Reply to author
Forward
0 new messages