使用$_SERVER获取客户端IP,拿到的一直都是127.0.0.1,我怀疑是nginx做了代理造成的,请问还有其他办法获取客户端真实ip吗?
我整理一下我的环境吧!我是用gateway做服务端跟.net做的客户端软件通信,text协议的,然后nginx做了代理,这样就导致获取客户端真实ip有误,文档中说的方法是配置wss的获取真实ip的,无法适用于tcp协议的
参考手册 http://doc.workerman.net/315297
透过nginx wss代理如何获取客户端真实ip 部分,原理是一样的
谢谢你, 我看到的onWebSocketConnect里面使用$_SESSION['realIP'] = $_SERVER['HTTP_X_REAL_IP']; 必须这样吗? 我不是用的websocket,用text协议的
上面的是http协议的,利用http头传递的真实ip。text协议用nginx代理获取不到真实ip的,不用折腾了
@1:哦 !搜了好久也没搜到,谢谢啦!那只能先用http请求记住缓存住客户端ip再在socket里面去运用了!
参考手册 http://doc.workerman.net/315297
透过nginx wss代理如何获取客户端真实ip 部分,原理是一样的
谢谢你, 我看到的onWebSocketConnect里面使用$_SESSION['realIP'] = $_SERVER['HTTP_X_REAL_IP']; 必须这样吗? 我不是用的websocket,用text协议的
上面的是http协议的,利用http头传递的真实ip。text协议用nginx代理获取不到真实ip的,不用折腾了
@1:哦 !搜了好久也没搜到,谢谢啦!那只能先用http请求记住缓存住客户端ip再在socket里面去运用了!