使用的是nginx负载,没有用HAProxy
环境
- EMQX 版本:4.2.5开源版本
- 操作系统版本:其他
重现此问题的步骤
1 emqx的emqx_auth_http.conf配置了param参数
auth.http.auth_req.params = clientId=%c,username=%u,password=%P,proto_name=%r,certCn=%C,certSubject=%d,clientIp=%a,serverPort=%p
2.nginx 加上了proxy_protocol on; 配置
upstream mqtt_out8883 {
hash $remote_addr consistent;
server 192.168.0.8:8883 weight=1 max_fails=5 fail_timeout=30s;
server 192.168.0.15:8883 weight=1 max_fails=5 fail_timeout=30s;
}
server {
listen 8883;
proxy_protocol on;
proxy_connect_timeout 5s;
proxy_timeout 360s;
proxy_pass mqtt_out8883;
access_log /mnt/data/nginx/logs/mqtt_out8883.log proxy;
}
3. emqx修改了配置:listener.ssl.external.proxy protocol = on
4. 使用证书访问,得到了真实IP,但是证书信息丢失了
预期行为
能拿到真实IP和证书信息
实际行为
得到了真实IP,但是证书信息丢失了