内网配置高德地图v2代理 nginx

339 阅读1分钟

使用nginx 配置高德地图v2的内网代理,网上搜了一堆还是有点坑,本地测试总结,整理出nginx配置如下,配置有点多,有疑问的,欢迎指点

#下面的ip:port 127.0.0.1 改为 实际环境地址,如:192.168.0.17:1080
server {
        listen       80;
        server_name  localhost;


        location /restapi/ {
            proxy_pass https://restapi.amap.com/;
        }

        location ^~/webapi/ {
            proxy_pass https://webapi.amap.com/;
        }
        location ^~/cwebapi/ {
            proxy_pass https://c-webapi.amap.com/;
        }

        location ^~/webapi/theme{
            proxy_pass https://webapi.amap.com/theme;
        }
        location ^~/style_icon/ {
            proxy_pass http://vdata.amap.com/style_icon/;
        }
        
        location /wprd01/ {
            proxy_pass https://wprd01.is.autonavi.com/;
        }
        location /wprd02/ {
            proxy_pass https://wprd02.is.autonavi.com/;
        }
        location /wprd03/ {
            proxy_pass https://wprd03.is.autonavi.com/;
        }
        location /wprd04/ {
            proxy_pass https://wprd04.is.autonavi.com/;
        }

        location /webrd01/ {
            proxy_pass https://webrd01.is.autonavi.com/;
        }
        location /webrd02/ {
            proxy_pass https://webrd02.is.autonavi.com/;
        }
        location /webrd03/ {
            proxy_pass https://webrd03.is.autonavi.com/;
        }
        location /webrd04/ {
            proxy_pass https://webrd04.is.autonavi.com/;
        }

        location /webst01/ {
            proxy_pass https://webst01.is.autonavi.com/;
        }
        location /webst02/ {
            proxy_pass https://webst02.is.autonavi.com/;
        }
        location /webst03/ {
            proxy_pass https://webst03.is.autonavi.com/;
        }
        location /webst04/ {
            proxy_pass https://webst04.is.autonavi.com/;
        }

        location /vdata/ {
            proxy_pass https://vdata.amap.com/;
        }
        location /vdata01/ {
            proxy_pass https://vdata01.amap.com/;
        }
        location /vdata02/ {
            proxy_pass https://vdata02.amap.com/;
        }
        location /vdata03/ {
            proxy_pass https://vdata03.amap.com/;
        }
        location /vdata04/ {
            proxy_pass https://vdata04.amap.com/;
        }

        location ^~/webapi/ui/{
            proxy_pass https://webapi.amap.com/ui/;
        }

        location /maps {
            set $proxyip "127.0.0.1";
            proxy_set_header Accept-Encoding "";
            proxy_pass https://webapi.amap.com/maps;
            sub_filter_types *;
            sub_filter_once off;
            sub_filter 'http://webapi.amap.com' 'http://$proxyip/webapi';
            sub_filter 'https://webapi.amap.com' 'http://$proxyip/webapi';
            sub_filter 'c-webapi.amap.com' '$proxyip/cwebapi';
            sub_filter 'vdata.amap.com' '$proxyip/vdata';
            sub_filter 'restapi.amap.com' '$proxyip/restapi';
            sub_filter 'vdata0{1,2,3,4}.amap.com' '$proxyip/vdata0{1,2,3,4}';
            sub_filter '{vdata,vdata01,vdata02,vdata03,vdata04}.amap.com' '$proxyip/{vdata,vdata01,vdata02,vdata03,vdata04}';
            sub_filter 'wprd0{1,2,3,4}.is.autonavi.com' '$proxyip/wprd0{1,2,3,4}';
            sub_filter 'webrd0{1,2,3,4}.is.autonavi.com' '$proxyip/webrd0{1,2,3,4}';
            sub_filter 'https' 'http';

            #其他变量 不带http的 都替换掉
            sub_filter 'webapi.amap.com' '$proxyip/webapi';
            sub_filter '暂未获得高德开放平台商用授权' '';
        }

        location /loca {
            set $proxyip "127.0.0.1";
            proxy_set_header Accept-Encoding "";
            proxy_pass https://webapi.amap.com/loca;
            sub_filter_types *;
            sub_filter_once off;
            sub_filter 'webapi.amap.com/count' '$proxyip/webapi/count';
            sub_filter 'https' 'http';
        }
       
    }