内网服务器(不通外网)访问高德在线地图服务的方法

本文档详细介绍了如何在内网环境中通过代理服务器设置,实现内网服务器访问高德地图服务。主要步骤包括:1) 修改前端地图服务请求地址为内网服务器地址;2) 内网服务器配置nginx进行反向代理,转发请求至外网服务器;3) 外网服务器配置nginx,再反向代理到高德地图服务;4) 使用ajaxhook.js拦截并转发高德自调用接口的请求。通过以上步骤,成功解决内网访问高德地图服务的问题。

在项目部署过程中,若部署服务器处于内网环境,则无法调用高德服务。需要通过搭建代理实现请求的转发,从而获取到在线服务内容。下面的记录解决了内网服务器访问高德地图服务的问题。

一、所需设备

  1. 内网服务器(项目所需部署环境,不通公网)
  2. 外网服务器(前置机),需要一台能够访问公网的服务器转发我们的请求

二、代理流程

1、修改前端:地图服务请求地址

原地址:

<script type="text/javascript"
        src="https://webapi.amap.com/maps?v=1.4.15&key=****************************&plugin=AMap.MarkerClusterer,AMap.Geocoder"></script>

把指向高德服务的地址修改为:内网服务器地址。此时接口请求仍然不通,因为内网服务器没有此地图服务。

<script type="text/javascript"
        src="http://171.11.12.121:60000/web1maps?v=1.4.15&key=****************************&plugin=AMap.MarkerClusterer,AMap.Geocoder"></script>

2、内网服务器配置nginx

前端请求发送到内网服务器后,通过nginx反向代理,监听请求端口60000,将请求转发至前置机(需要打通内网服务器与外网服务器(前置机)之间的通信)
此时请求仍然不通,因为前置机同样没有地图服务。
注意保持端口通信正常
内网服务器nginx配置如下

server {
   
   
        listen       60000;  //通过端口监听前端请求
        server_name  localhost;

        location /web1 {
   
   
			proxy_pass http://130.12.11.23:10010/web1; //转发请求至前置机地址
		}
        location /web2 {
   
   
			proxy_pass http://130.12.11.23:10010/web2;
		
评论 39
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值