我使用AWS ELB作为入口点(在代理模式下)在其后面的2个HAProxy-es之间进行负载平衡,从那里流量进一步到达MQTT代理。
这2个HAProxies负责客户端TLS终止(双向TLS)。
证书有点工作。我已经测试了两台服务器之间的本地设置。我已经能够使用双向TLS发布,正确终止它,并向mqtt发布消息。将所有内容移至AWS时会出现问题。
我使用的是自签名根CA,中间CA,服务器证书和客户端证书。使用椭圆曲线...
问题可能是服务器CN造成的。我认为它必须与使用mosquitto_pub等工具连接的主机名相同。
我得到的错误是TLS错误,同时调试 - > ssl握手失败。不知何故,我无法产生更多冗长的错误。使用带有s_client的openssl并调试最大调试输出。这导致我ssl握手失败。
我真的很感激任何提示/建议。
提前致谢。
Tomaz
答案 0 :(得分:0)
我通过使用subjectAltName功能解决了这个问题。我编辑了openssl.cnf并添加了新的部分[alt_names],稍后在配置中引用它。在alt_names下我添加了1个DNS密钥和2个IP。找到man x509v3_config
。
最佳, 托马日