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

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

一、所需设备

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


二、代理流程

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

原地址:

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


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

server {

        listen 8082;
        location / {
                proxy_set_header Host $proxy_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header User-Agent $http_user_agent;
                proxy_buffering off;
                proxy_pass http://open-server.51ifind.com;
        }

        location /webapi/ {
                proxy_pass https://webapi.amap.com/
        }
        location /restapi/ {
                proxy_pass https://restapi.amap.com/;
        }
        location /a/ {
                proxy_pass https://a.amap.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/;
        }
       
    }

你可能感兴趣的:(服务器,运维)