美文网首页
内网反代百度地图

内网反代百度地图

作者: JIGI | 来源:发表于2018-09-04 00:39 被阅读134次

    背景

    在做ST的项目,用BMap,但是他们办公环境又都是内网,只能在一台DMZ区的电脑上反代,该电脑既能访问外网,又能同内网其他电脑通信。

    解决

    Step 1.JS更改

    手动下载:http://api.map.baidu.com/getscript?v=2.0&ak=YOURKEY&services=&t=20180823194355,保存成本地的bmap.js文件,然后把里边的百度相关的dns全部挑出来,如下

    //不全,我也不知道这些dns都是干嘛的,可能有漏掉的,但是不影响
    api.map.baidu.com
    api0.map.bdimg.com
    api1.map.bdimg.com
    api2.map.bdimg.com
    shangetu0.map.bdimg.com
    shangetu1.map.bdimg.com
    shangetu2.map.bdimg.com
    shangetu3.map.bdimg.com
    shangetu4.map.bdimg.com
    online0.map.bdimg.com
    online1.map.bdimg.com
    online2.map.bdimg.com
    online3.map.bdimg.com
    online4.map.bdimg.com
    webmap0.map.bdimg.com
    

    api.map.baidu.com为例将其替换成我的ip:3333/api.map.baidu.com
    重复上述步骤,把所有DNS全部替换了,保存。
    然后在网页里引用该bmap.js文件

    Step 2.反向代理到本机

    使用反向代理软件,caddy, 在本机的3333反代上述域名

    nginx也可以,但是我更喜欢caddy的配置语法

    代码如下:

    :3333/api.map.baidu.com/ {
        proxy / api.map.baidu.com
    }
    :3333/api0.map.bdimg.com/ {
        proxy / api0.map.bdimg.com
    }
    :3333/api1.map.bdimg.com/ {
        proxy / api1.map.bdimg.com
    }
    :3333/api2.map.bdimg.com/ {
        proxy / api2.map.bdimg.com
    }
    :3333/shangetu0.map.bdimg.com/ {
        proxy / shangetu0.map.bdimg.com
    }
    :3333/shangetu1.map.bdimg.com/ {
        proxy / shangetu1.map.bdimg.com
    }
    :3333/shangetu2.map.bdimg.com/ {
        proxy / shangetu2.map.bdimg.com
    }
    :3333/shangetu3.map.bdimg.com/ {
        proxy / shangetu3.map.bdimg.com
    }
    :3333/shangetu4.map.bdimg.com/ {
        proxy / shangetu4.map.bdimg.com
    }
    :3333/online0.map.bdimg.com/ {
        proxy / online0.map.bdimg.com
    }
    :3333/online1.map.bdimg.com/ {
        proxy / online1.map.bdimg.com
    }
    :3333/online2.map.bdimg.com/ {
        proxy / online2.map.bdimg.com
    }
    :3333/online3.map.bdimg.com/ {
        proxy / online3.map.bdimg.com
    }
    :3333/online4.map.bdimg.com/ {
        proxy / online4.map.bdimg.com
    }
    :3333/webmap0.map.bdimg.com/ {
        proxy / webmap0.map.bdimg.com
    }
    

    然后打开防火墙3333就应该可以了。

    相关文章

      网友评论

          本文标题:内网反代百度地图

          本文链接:https://www.haomeiwen.com/subject/pbywwftx.html