已解决
内网服务器(不通外网)访问高德在线地图服务的方法
来自网友在路上 160860提问 提问时间:2023-11-02 12:06:01阅读次数: 60
最佳答案 问答题库608位专家为你答疑解惑
在项目部署过程中,若部署服务器处于内网环境,则无法调用高德服务。需要通过搭建代理实现请求的转发,从而获取到在线服务内容。下面的记录解决了内网服务器访问高德地图服务的问题。
一、所需设备
内网服务器(项目所需部署环境,不通公网)
外网服务器(前置机),需要一台能够访问公网的服务器转发我们的请求
二、代理流程
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反向代理,监听请求端口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/;}}
查看全文
99%的人还看了
相似问题
- 【MySQL】宝塔面板结合内网穿透实现公网远程访问
- Linux CentOS+宝塔面板工具结合内网穿透实现网站发布至公网可访问
- Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问
- 内网穿透的应用-如何在Docker中部署MinIO服务并结合内网穿透实现公网访问本地管理界面
- 使用centos搭建内网的yum源
- OpenVPN Connect使用连接公网VPN服务器实现内网穿透
- Windows系统搭建VisualSVN服务并结合内网穿透实现公网访问
- 公司内部网络架设悟空CRM客户管理系统 cpolar无需公网IP实现内网,映射端口外网访问
- 内网穿透的应用-通过内网穿透快速搭建公网可访问的Spring Boot接口调试环境
- IPTABLES问题:DNAT下如何解决内网访问内部服务器问题
猜你感兴趣
版权申明
本文"内网服务器(不通外网)访问高德在线地图服务的方法":http://eshow365.cn/6-30150-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!