ngin配置内网服务-具体案例【天地图】
描述需求
现在有一个内网【政务云】环境,需要访问互联网的天地图服务。【IP均为作者随意编写】
整体网络架构
1. 政务内网服务器(10.10.10.70)
配置 Nginx 作为反向代理,将请求转发到网闸(10.10.10.240:8088),网闸再转发到跳板机(10.10.20.70:9109),最终跳板机通过 HTTP 访问天地图服务。
安全的政务内网一般都是端到端访问
2. 网闸(10.10.10.240:8088)
网闸配置了端口映射,将来自政务内网的请求转发到跳板机的 9109端口。
网闸一般已经由服务器提供商配置好。且为了安全性,网闸到跳板机都是端到端
3. 跳板机(10.10.20.70:9109)
跳板机配置 Nginx,将请求转发到天地图服务的域名(如 http://t0.tianditu.gov.cn),并通过 /etc/hosts 文件解析域名。
4. 天地图服务
天地图服务支持 HTTP 协议。
需要注意的是天地图不能通过IP直接访问,而是要通过域名访问。天地图一般有两个域名,通过负载均衡,每个域名4个IP。
具体步骤
第一步:配置跳板机(10.10.20.70:9109)
配置nginx
server {
listen 9109;
server_name 10.10.20.70;
location / {
proxy_pass https://t0.tianditu.gov.cn;
proxy_set_header Host t0.tianditu.gov.cn;
}
配置hosts
获取天地图域名:
nslookup 域名
配置hosts:打开目录/etc/hosts
IP 域名
IP 域名
第二步:配置内网
配置nginx【http版本】
server {
listen 9107;
server_name 10.10.10.70;
location / {
proxy_pass http://10.10.10.240:8088;
}
}
配置nginx【https版本】
server {
listen 9107 ssl;
server_name 10.10.10.70;
ssl_certificate /usr/local/nginx/ssl/server.crt;
ssl_certificate_key /usr/local/nginx/ssl/server.key;
# 强制使用 TLS
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://10.10.10.240:8088;
}
}
内网访问地图服务
浏览器中使用:
https://10.10.10.70:9107/vec_c/wmts?tk=您的密钥