首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Google云计算引擎实例中获取访客的公网IP (创建容器集群)

无法在Google云计算引擎实例中获取访客的公网IP (创建容器集群)
EN

Stack Overflow用户
提问于 2017-11-03 08:48:05
回答 1查看 706关注 0票数 1

最近我在google云容器集群中部署了一个网站,我相信实际的网站源代码是在集群自动创建的计算机引擎实例中运行的。

在网站中,我想记录访问者的访问信息,包括公网IP地址,例如80.87.131.131。但我发现我只能获取内部IP地址,如10.128.0.3

下面是我用来获取访问者IP的PHP函数。

代码语言:javascript
复制
function get_ip()
{
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];

    if(filter_var($client, FILTER_VALIDATE_IP))
    {
        $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
        $ip = $forward;
    }
    else
    {
        $ip = $remote;
    }

    return $ip;
}

有没有办法获取访客的公网IP?我需要做一些服务器端的配置吗?任何帮助都将不胜感激。在此之前,非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2017-11-03 10:24:06

此脚本将访问者的IP记录在一个文本文件中。

代码语言:javascript
复制
<?php
function scoate_ip(){
if (getenv('HTTP_X_FORWARDED_FOR')){
$ip=getenv('HTTP_X_FORWARDED_FOR');
} else {
$ip=getenv('REMOTE_ADDR');
}
return $ip;
}
$ip_trimis = scoate_ip();

$locatie = fopen("IP/IP.txt","a+");
fwrite ($locatie, "\n".$ip_trimis."\n");
fclose($locatie);
?>

您可能希望按自己的意愿对其进行编辑。$ip_trimis是访问者的IP。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47086795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档