簡體   English   中英

無法在Google Cloud Compute引擎實例中獲得訪問者的公共IP(已創建容器集群)

[英]Cannot get visitor's public IP in Google Cloud Compute engine instance (container cluster created)

最近,我在google雲容器集群中部署了一個網站,並且我相信實際的網站源代碼在集群自動創建的計算機引擎實例中運行。

在網站上,我想記錄訪問者的訪問信息,包括公共IP地址,例如80.87.131.131。 但是我發現我只能獲取內部IP地址,例如10.128.0.3

這是我用來獲取訪問者IP的PHP函數。

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? 我需要進行一些服務器端配置嗎? 任何幫助將不勝感激。 並非常感謝。

該腳本在文本文件中記錄訪問者的IP。

<?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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM