[英]How to get client's Proxy IP address in CometD?
使用提琴手作为HTTP代理,我连接到本地CometD服务器。
我继承类DefaultSecurityPolicy
,并得到了与客户端的IP地址server.getContext().getRemoteAddress().getAddress().getHostAddress()
在canHandshake
方法。
但是,它返回客户端的真实IP(原始IP),但是我要的是直接与服务器通信的IP。 有什么帮助吗?
如果客户端使用WebSocket与CometD服务器进行通信,那么HTTP代理根本不会生效,那么我得到的是原始地址,对吗?
public function getlocationFromIp()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
// Check if using Shared Internet Environment
$ipAddress = $_SERVER['HTTP_CLIENT_IP'];
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
// Check if using Proxy User
$ipAddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ipAddress = $_SERVER['REMOTE_ADDR'];
}
$ip_geo_url = 'http://freegeoip.net/json/'.$ipAddress;
$ip_json = file_get_contents($ip_geo_url);
$ip_json = json_decode($ip_json);
return $ip_json;
}
如果有帮助的话,它将获得whit ip的位置...也将获得代理位置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.