我已经配置了X_FORWARDED_FOR
来捕获HTTPS请求的客户端IP,它按预期工作。
但是,对于MQTT,数据通过SSL发送,而HTTP/S不在考虑范围之内。
ssl://<HOST_NAME>:<PORT>
我试过在HAproxy配置上添加以下内容到后端服务器。到目前为止没有成功。
backend TestServer
mode tcp
server TestServer01 10.6.186.24:48080 send-proxy-v2
------
server TestServer01 10.6.186.24:48080 send-proxy
------
server TestServer01 10.6.186.24:48080 send-proxy-v2-ssl
是否有一种方法可以通过更改HAProxy配置来捕获传入MQTT请求的客户端(源)IP?
2条答案
按热度按时间z3yyvxxp1#
不,MQTT协议中没有存储原始客户机IP地址的地方(就像向HTTP请求添加额外的报头一样)。
代理实际上只是将到达其公共端口的数据包转发到后端服务器(SSL终止可能例外),它根本不更改数据包。
g9icjywg2#
如果您希望IP地址执行基于粘贴表的滥用保护,则需要使用MQTT客户端标识符对粘贴表进行键控。
例如,如果客户端的连接速率大于每秒1次,在10秒的窗口内,这将拒绝客户端。