日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

内网访问高德地图nginx代理

發布時間:2023/12/16 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内网访问高德地图nginx代理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目需求:A服務器在內網,不能訪問互聯網,B服務器在外網,可以訪問互聯網,客戶端電腦只能訪問A服務器,客戶端電腦怎么訪問高德地圖?

實現思路:客戶端訪問A服務器,A再訪問B服務器,B請求高德地圖api js并返回給A服務器,A服務器nginx安裝ngx_http_sub_module模塊,將api js中的所有域名替換成自己的代理地址再返回給客戶端

注意事項:

1、下面配置只實現了基本的地圖功能,如需實現更復雜的功能,還需代理如下地址

http://www.w3.org、https://gaode.com、http://m.amap.com、http://vector.amap.com、http://a.amap.com

2、http://vdata.amap.com/style_icon/icon-normal-small.png?、http://vdata.amap.com/style_icon/icon-biz-small.png 這兩個圖片集是在動態腳本中訪問的,所以需要將eval(b)和eval(fd)中的腳本替換一下

3、如果客戶端電腦可以直接訪問B服務器的話,可以將兩個配置文件合并,只在B服務器安裝一個nginx即可

A服務器nginx配置:

server {listen 8080;server_name localhost;location /maps {proxy_set_header Accept-Encoding "";proxy_pass http://B服務器ip:8080/maps;sub_filter_types *;sub_filter_once off;sub_filter 'http://webapi.amap.com' 'http://B服務器ip:8080/webapi';sub_filter 'http://restapi.amap.com' 'http://B服務器ip:8080/restapi';sub_filter 'http://vdata.amap.com' 'http://B服務器ip:8080/vdata';sub_filter '/webapi.amap.com' '/B服務器ip:8080\/webapi';sub_filter '/restapi.amap.com' '/B服務器ip:8080\/restapi';sub_filter '/vdata.amap.com' '/B服務器ip:8080\/vdata';sub_filter 'webapi.amap.com' 'B服務器ip:8080/webapi';sub_filter 'restapi.amap.com' 'B服務器ip:8080/restapi';sub_filter 'vdata.amap.com' 'B服務器ip:8080/vdata';sub_filter 'wprd0{1,2,3,4}.is.autonavi.com' 'B服務器ip:8080/wprd0{1,2,3,4}';sub_filter 'eval(b)' 'eval(b.replace(/vdata\.amap\.com/g,"B服務器ip:8080/vdata"))';sub_filter 'eval(fd)' 'eval(fd.replace(/vdata\.amap\.com/g,"B服務器ip:8080/vdata"))';}location / {proxy_pass http://172.16.10.180:8080;} }

B服務器nginx配置:

server {listen 8080;server_name localhost;location /maps {resolver 8.8.8.8;set $backend "webapi.amap.com";proxy_pass http://$backend;}location ~* ^/webapi(.*) {resolver 8.8.8.8;set $backend "webapi.amap.com";proxy_pass http://$backend$1$is_args$args;}location ~* ^/restapi(.*) {resolver 8.8.8.8;set $backend "restapi.amap.com";proxy_pass http://$backend$1$is_args$args;}location ~* ^/vdata(.*) {resolver 8.8.8.8;set $backend "vdata.amap.com";proxy_pass http://$backend$1$is_args$args;}location ~* ^/wprd0(\d*)/(.*) {resolver 8.8.8.8;set $backend "is.autonavi.com";proxy_pass http://wprd0$1.$backend/$2$is_args$args;} }

?

總結

以上是生活随笔為你收集整理的内网访问高德地图nginx代理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。