curl - 在kafka桥srimzi上启用用户名和密码
问题描述
我正在尝试将用户名和密码添加到我在 strimzi 上的 kafka 网桥..我不知道我是否配置正确,如果我配置正确,为什么我无法使用我的用户名和密码访问这是我的步骤做过:
秘密.yaml
apiVersion: v1
kind: Secret
metadata:
name: bridgeuser
type: Opaque
data:
my-password: cmdoR0ZETColMTY3Cg==
桥接器.yaml
apiVersion: kafka.strimzi.io/v1alpha1
kind: KafkaBridge
metadata:
name: my-bridge
spec:
replicas: 1
bootstrapServers: my-cluster-kafka-bootstrap:9092
http:
port: 8080
authentication:
type: plain
username: user
passwordSecret:
secretName: bridgeuser
password: my-password
这是产生消息的卷曲:
curl -X POST -u user:rghGFDL*%167 https://localhost:8080/topics/topic -H 'content-type: application/vnd.kafka.json.v2+json' -d '{"records": [{"key": "key-1","value": "welcome !!"},{"key": "key-2","value": "welcome !!"}]}'
当我这样尝试时,我得到了:
{
"offsets": [
{
"error_code": 500,
"message": "Unexpected handshake request with client mechanism PLAIN, enabled mechanisms are []"
},
{
"error_code": 500,
"message": "Unexpected handshake request with client mechanism PLAIN, enabled mechanisms are []"
}
]
}
如果有人可以帮助并提前感谢
解决方案
HTTP 桥目前不支持对 HTTP 接口进行任何身份验证。例如,您可以将它与代理或 API 网关结合使用来获得它。您在那里配置的身份验证是 Bridge 和 Kafka 集群之间的身份验证。
因此,-u user:rghGFDL*%167
您的curl
请求中的 将被忽略。并且您与 Kafka 的连接失败,因为您的代理似乎未配置为 SASL PLAIN 身份验证(实际上,它似乎没有启用任何 SASL 身份验证,正如Unexpected handshake request with client mechanism PLAIN, enabled mechanisms are []
消息所示)。
推荐阅读
- c# - LINQ 表达式 - 根据 LinkLabel 中指定的名称返回用户 ID
- python - 什么是“AttributeError:'str' 对象没有属性 'native_events_enabled”错误?使用 selenium 和 python 时出现
- python - 如何使用 Python 将文件上传到 GitLab 的 WIKI
- javascript - 如何在jQuery中更改DataTables中一列的值
- php - 改变现有网站的不同方式
- python - 跟踪 grpc 服务器上的多个客户端
- javascript - 仅禁用 IE 11 的插件
- android - RecyclerView 滑动以添加较旧的 Firebase 数据
- javascript - 使用 css/html/angular 使组件居中
- javascript - 用于切换的 jQuery 脚本只能工作两次