在哪里可以获得nginx geo模块的opera迷你ip列表



我需要Opera Mini的代理ip地址在Geo模块(nginx)中使用它。Nginx可以自动使用x - forward - for头代理,但哪里得到代理列表?

我不确定我完全理解你想要解决的问题,但我假设你想为最终用户实现一些地理定位功能,你的问题是关于使用什么IP地址。

如果是,请参阅Opera Mini请求头和X-Forwarded-For的文档:http://dev.opera.com/articles/view/opera-mini-request-headers/

X-Forwarded-For

包含一个以逗号分隔的代理服务器列表,该列表是请求在从设备到Mini代理的过程中所传递的代理服务器。列表中不是内部IP的第一项将始终是连接到迷你代理的IP地址,因此它是关于请求起源的最可靠的信息来源,并且适合地理位置等。

在opera网站上找不到官方名单。以下是一些ip

[EDIT]这里删除了我原始答案的一段,因为这可能会误导。在阅读了nginx GeoIP源代码后,似乎有必要知道所有的"可信的"opera迷你代理,这样nginx GeoIP模块可以使用x-forwarded-for头获取这些代理背后的IP。

您确定Opera IP地址不在MaxMind数据库中吗?(这是nginx模块默认使用的DB)

我的第一个赌注是认为这些IP地址将在MaxMind列表中,作为代理或不是。

但我认为最好的事情是做一个快速测试使用opera代理和其他代理从任何公共HTTP代理列表资源。然后验证您是否正在获取代理IP的地理位置。

请记住配置Nginx为地理位置使用x-forward -for IP。

real_ip_header X-Forwarded-For;

那么一个简单的测试示例可以是:

<html>
<head>
  <title>What is my IP address - determine or retrieve my IP address</title>
 </head>
<body>
 <?php
     if (getenv(HTTP_X_FORWARDED_FOR)) {
        $pipaddress = getenv(HTTP_X_FORWARDED_FOR);
        $ipaddress = getenv(REMOTE_ADDR);
        echo "Your Proxy IP address is : ".$pipaddress. " (via $ipaddress) " ;
    } else {
        $ipaddress = getenv(REMOTE_ADDR);
        echo "Your IP address is : $ipaddress";
    }
    $country = getenv(GEOIP_COUNTRY_NAME);
    $country_code = getenv(GEOIP_COUNTRY_CODE);
    echo "<br/>Your country : $country ( $country_code ) ";
?>
</body>
</html>

(我只是从另一个网站复制/粘贴了这个例子但我觉得做得很好)

Opera Mini和Opera Turbo的代理(但实际上是MITM)服务器驻留在"Opera Software AS" IP地址块中,其中包括:

<>之前37.228.104.0 255.255.248.082.145.208.0 255.255.240.0107.167.96.0 255.255.224.0141.0.8.0 255.255.248.0185.26.180.0 255.255.252.0

最新更新