哪里可以获得nginx geo模块的opera mini ip list?

时间:2013-03-13 15:29:56

标签: proxy nginx geolocation opera-mini

我需要Opera Mini的代理IP地址才能在Geo模块(nginx)中使用它。 Nginx可以自动为代理使用X-FORWARDED-FOR标头,但在哪里获取代理列表?

4 个答案:

答案 0 :(得分:0)

我不确定您到底想要解决哪些问题,但我认为您希望为最终用户实施一些地理定位功能,而您的问题是关于要使用的IP地址。

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

  

X - 转发,对于

     

这包含请求在从设备到Mini代理的路上传递的代理服务器的逗号分隔列表。列表中不是内部IP的第一项将始终是连接到Mini代理的IP地址,因此它是有关请求来源的最可靠信息来源,适用于地理位置等。

答案 1 :(得分:0)

无法在Opera网站的任何地方找到官方列表。这是some of those ips

[编辑]在此删除了我原来答案中的一段,因为这可能会产生误导。在阅读了nginx GeoIP源代码之后,似乎有必要知道所有'可信'的歌剧迷你代理,这样nginx GeoIP模块可以使用x-forwarded-for标头在这些代理后面获得IP。

答案 2 :(得分:0)

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

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

但我认为最好的办法是使用歌剧代理和来自任何公共HTTP proxy list资源的其他代理进行快速测试。然后验证您是否获得了代理IP的地理位置。

请记住将Nginx配置为使用x-forwarded-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>

(我只是从其他网站复制/粘贴该示例,但我认为这样做很好)

答案 3 :(得分:0)

Opera Mini和Opera Turbo的代理(但实际上是MITM)服务器位于&#34; Opera Software AS&#34; IP地址块,包括:

    37.228.104.0 255.255.248.0
    82.145.208.0 255.255.240.0
    107.167.96.0 255.255.224.0
    141.0.8.0 255.255.248.0
    185.26.180.0 255.255.252.0