Skip to content

Instantly share code, notes, and snippets.

@mathsigit
Created October 2, 2018 03:04
Show Gist options
  • Save mathsigit/34a990e04686023cb4deddb2e0bbbaff to your computer and use it in GitHub Desktop.
Save mathsigit/34a990e04686023cb4deddb2e0bbbaff to your computer and use it in GitHub Desktop.
test

如何在 kafka connector 的 Restful Server 建立 https

1.使用 openssl 建立 SSL key, 整個 script 如下

#!/bin/bash
#Step 1
keytool -keystore kafka.server.keystore.jks -alias localhost -validity 365 -genkey
#Step 2
openssl req -new -x509 -keyout ca-key -out ca-cert -days 365
keytool -keystore kafka.server.truststore.jks -alias CARoot -import -file ca-cert
keytool -keystore kafka.client.truststore.jks -alias CARoot -import -file ca-cert
#Step 3
keytool -keystore kafka.server.keystore.jks -alias localhost -certreq -file cert-file
openssl x509 -req -CA ca-cert -CAkey ca-key -in cert-file -out cert-signed -days 365 -CAcreateserial -passin pass:123456
keytool -keystore kafka.server.keystore.jks -alias CARoot -import -file ca-cert
keytool -keystore kafka.server.keystore.jks -alias localhost -import -file cert-signed
#Setp 4
keytool -export -rfc -keystore kafka.server.keystore.jks -storepass 123456 -alias localhost > server.pem

這裡的密碼設定為 123456 在產生 key 的過程中都輸入 123456

2.修改 connect-distributed.properties 設定檔參數

listeners=https://10.1.3.102:8443
ssl.keystore.location=/home/user1/ssl/kafka.server.keystore.jks
ssl.keystore.password=123456
ssl.key.password=123456
ssl.truststore.location=/home/user1/ssl/kafka.server.truststore.jks
ssl.truststore.password=123456

3.使用以下指令測試是否能連到 Kafka Worker 的 Restful API

$ curl -X GET -k https://localhost:8443/connector-plugins

4.如果測試沒問題之後需要修改啟動 connector 的 properties 的設定

Example:

沒有使用 https 的設定如下:

workerURL="http://10.1.3.102:8083/connectors"

需要改成如下的設定:

-k workerURL="https://10.1.3.102:8443/connectors"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment