uv_ip4_name 总是得到 127.0.0.1

问题描述

这是我当前的代码

        struct sockaddr_storage addr;
        
        int addr_len = sizeof(addr);
        uv_tcp_getpeername(client,(struct sockaddr*) &addr,&addr_len);
        
        char buf[128];
        if(uv_ip4_name((struct sockaddr_in*) &addr,buf,sizeof buf) != 0) buf[0] = '\0';

这在没有 Nginx 的情况下工作,但现在我将 ngnix 用于 ssl。这是我的配置的一部分:

        proxy_http_version 1.1;
        proxy_pass http://localhost:2828;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Client-IP $remote_addr;
        proxy_set_header X-Real-IP $remote_addr;
        real_ip_header CF-Connecting-IP;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;

而且这仍然对 buf 是什么(buf 是 ip)没有任何影响。它总是 127.0.0.1

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)