用nginx代理Emqx,单双向证书认证都不能获取真实ip

在nginx和emqx上都开启了proxy_protocol。
没有证书认证(以下2883)可以正常获取真实ip,单双向证书认证(以下9883)都不能获取真实ip。

stream {
  upstream mqtt_servers {
    # down:表示当前的 server 暂时不参与负载
    # max_fails:允许请求失败的次数;默认为 1
    # fail_timeout:失败超时时间,默认 10s, max_fails 达到次数后暂停的请求时间
    # backup:其它所有的非backup机器down或者忙的时候,请求backup机器

    server three:1883 max_fails=2 fail_timeout=10s;
  }

  server {
    listen 2883;
    proxy_pass mqtt_servers;

    # 启用此项时,对应后端监听器也需要启用 proxy_protocol
    proxy_protocol on;
    proxy_connect_timeout 10s;
    # 默认心跳时间为 10 分钟
    proxy_timeout 1800s;
    proxy_buffer_size 3M;
    tcp_nodelay on;
  }

  server {
    listen 9883 ssl;
    proxy_pass mqtt_servers;

    ssl_session_cache shared:SSL2:10m;
    ssl_session_timeout 10m;
    ssl_certificate /root/ssl/server.crt;
    ssl_certificate_key /root/ssl/server.key;
    ssl_verify_depth 2;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    # 添加 CA 证书及开启验证客户端证书参数即可启用双向认证
#    ssl_client_certificate /root/ssl/ca.crt;
 #   ssl_verify_client on;


    # 启用此项时,对应后端监听器也需要启用 proxy_protocol
    proxy_protocol on;
    proxy_connect_timeout 10s;
    # 默认心跳时间为 10 分钟
    proxy_timeout 1800s;
    proxy_buffer_size 3M;
    tcp_nodelay on;
  }
}

只看你提供的部分,是没有问题的。
自己再根据文档检查一下其它的有没有漏:

我就是按那个文档配置的,应该没有遗漏。

我试了下文档,是没问题的。。。。