解决天地图每日限制访问次数的问题
支持的地址或服务:
t[0-6].tianditu.gov.cn
将以上匹配的路径对应的域名更换为:tdt.host.com:8096
nginx配置如下:
upstream tianditu_server {
server t0.tianditu.gov.cn weight=1 max_fails=2 fail_timeout=30s;
server t1.tianditu.gov.cn weight=1 max_fails=2 fail_timeout=30s;
server t2.tianditu.gov.cn weight=1 max_fails=2 fail_timeout=30s;
server t3.tianditu.gov.cn weight=1 max_fails=2 fail_timeout=30s;
server t4.tianditu.gov.cn weight=1 max_fails=2 fail_timeout=30s;
server t5.tianditu.gov.cn weight=1 max_fails=2 fail_timeout=30s;
server t6.tianditu.gov.cn weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 8096;
server_name tdt.host.com;
location /api {
set $agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67';
#add_headers 'Access-Control-Allow-Origin: *';
#add_header Access-Control-Allow-Headers X-Requested-With;
#add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
#使用缓存名称
proxy_cache pitchcache;
#对以下状态码实现缓存
proxy_cache_valid 200 206 304 301 302 1d;
#缓存的key(url)
proxy_cache_key $uri$is_args$args;
# add_header X-Cache-Status $upstream_cache_status;
#反向代理地址
proxy_pass http://api.tianditu.gov.cn/api;
proxy_set_header User-Agent $agent;
proxy_set_header DNT 1;
proxy_set_header Host 'api.tianditu.gov.cn';
if ($arg_tk = '') {
set $args $args&tk=b2c181fe741e64bd6513dab0c0733c62;
}
set $arg_tk 'b2c181fe741e64bd6513dab0c0733c62';
}
location /cdn/ {
set $agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67';
#add_headers 'Access-Control-Allow-Origin: *';
#add_header Access-Control-Allow-Headers X-Requested-With;
#add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
#使用缓存名称
proxy_cache pitchcache;
#对以下状态码实现缓存
proxy_cache_valid 200 206 304 301 302 1d;
#缓存的key(url)
proxy_cache_key $uri$is_args$args;
# add_header X-Cache-Status $upstream_cache_status;
#反向代理地址
proxy_pass http://api.tianditu.gov.cn/cdn/;
proxy_set_header User-Agent $agent;
proxy_set_header DNT 1;
proxy_set_header Host 'api.tianditu.gov.cn';
if ($arg_tk = '') {
set $args $args&tk=天地图key;
}
set $arg_tk '天地图key';
}
location / {
set $agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67';
#add_header Access-Control-Allow-Headers X-Requested-With;
#add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
#使用缓存名称
proxy_cache pitchcache;
#对以下状态码实现缓存
proxy_cache_valid 200 206 304 301 302 1d;
#缓存的key(url)
proxy_cache_key $uri$is_args$args;
# add_header X-Cache-Status $upstream_cache_status;
#反向代理地址
proxy_pass http://tianditu_server/;
proxy_set_header User-Agent $agent;
proxy_set_header DNT 1;
proxy_set_header Host 't4.tianditu.gov.cn';
if ($arg_tk = '') {
set $args $args&tk=天地图key;
}
set $arg_tk '天地图key';
}
}