1、外网通过ssl访问内网kafka可以连接,但是发送数据会报超时的错误,但是内网可以正常ssl连接发送数据,是什么原因。往外可以通过9092正常访问到内网kafka;内网之间可以用9092和9093相互正常访问
2、kakfa2.5,
3、相关代码
broker.id=0
### SSL Start
listeners=PLAINTEXT://kafka-01:9092,SSL://kafka-01:9093
advertised.listeners=PLAINTEXT://kafka-01:9092,SSL://10.0.0.209:9093
ssl.keystore.location=/root/ssl/server.keystore.jks
ssl.keystore.password=kfk123456
ssl.key.password=kfk123456
ssl.truststore.location=/root/ssl/server.truststore.jks
ssl.truststore.password=kfk123456
ssl.endpoint.identification.algorithm=
ssl.client.auth=required
ssl.enabled.protocols=TLSv1.2,TLSv1.1,TLSv1
ssl.keystore.type=JKS
ssl.truststore.type=JKS
#security.inter.broker.protocol=SSL
#ssl.protocol=TLS
#ssl.endpoint.identification.algorithm=HTTPS
4、当在外网访问发送数据会卡主,然后报错
[2020-11-30 17:25:07,148] ERROR Error when sending message to topic test_02 with key: null, value: 10 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)
org.apache.kafka.common.errors.TimeoutException: Topic test_02 not present in metadata after 60000 ms.
这个不需要了,删了吧
advertised.listeners=PLAINTEXT://kafka-01:9092,SSL://10.0.0.209:9093
另外,观察下kafka日志,看看有没有报错,也看看9093端口启动成功了没。
netstat -unltp | grep 9093
都是没问题的,因为开了9092和9093,9092就可以正常访问,但是9093就是可以连上(如果密码不对也会直接报错,连接不上),但是发送信息就会返回超时的错误。kafka的日志没有什么报错。
内网连接9093是没有问题的
你配置的是域名吧?
就是
kafka-01
这个就是主机名
你外网访问的时候,配置一个host,设置为主机名。
参考:https://www.orchome.com/1903
本地的hosts,是配置的
公网ip kakfa-01
现在就是很费解,外网9092是没问题,9093有问题。内网9092和9093都没问题。
看来你只能跟踪一下路由了。
端口和ip是用防火墙进行映射的,是不是和这个有关系?
9093如果是通的,理论上是没问题的。
而且你还是单节点。
你的答案