概述
nginx代理服务
- 需求分析:
- 1、安全证书签发
- 2、http转https
- 3、ip跳转域名访问(重定向)
- 4、最终配置
- 声明
需求分析:
1)微信小程序,使用arcgis api 地图。发布正式版有安全证书的问题,需要采用安全域名访问,http请求和ip访问方式,以及没有安全证书的https将会拦截,正式版无法访问;
2)arcgis server 服务请求,不能跳转到域名上进行访问
1、安全证书签发
https:安全证书(微信小程序证书请自行申请)
pfx证书转nginx识别证书:
生成crt证书:(证书公钥)
openssl pkcs12 -in 4395521_www.wmgis.com.pfx -clcerts -nokeys -out ./arcserver.crt -password pass:jP06I383
rsa算法生成密钥 (证书私钥)
openssl pkcs12 -in 4395521_www.wmgis.com.pfx -nocerts -nodes -out ./arcserver.rsa -password pass:jP06I383
2、http转https
微信小程序需采用https方式进行访问:
# 定位地址 http转https
location / {
proxy_pass http://192.168.1.128:6080/;
}
3、ip跳转域名访问(重定向)
服务地址已配置成域名访问的方式,在实际进行地图服务访问的时候ArcGIS Server依旧采用IP进行访问地图, 如下图:
ArcGIS 服务直接访问IP:
https://10.68.11.80:8081/arcgis/rest/services/XXX/MapServer/export?bbox=…
问题
:
1)微信小程序:不能使用ip进行访问,(该地址为IP地址,请使用域名进行访问
)
解决方法
:
#arcgis服务 重定向 (IP访问转域名访问)
location /arcgis/rest/services/ {
if ( $host != 'www.wmgis.com' ){
rewrite ^/(.*) https://www.wmgis.com:8081/$1 permanent;
}
proxy_pass http://192.168.1.128:6080/arcgis/rest/services/;
}
2)nginx 重定向次数过多
原因解析
:
rewrite地址:www.wmgis.com和 server_name设置的域名重复,会出现多次循环重复的现象;
解决方案
:
- 更该域名
- 添加if判断(域名有限是使用,效率略低,本文采用次方法)
if ( $host != 'www.wmgis.com' ){
rewrite ^/(.*) https://www.wmgis.com:8081/$1 permanent;
}
参数解释
:
$host
:请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名;
第一次host地址为:10.68.11.80 ,经过重定向之后 host为:www.wmgis.com
4、最终配置
server {
# 监听端口
listen 8081 ssl;
# 服务名称
server_name www.wmgis.com 10.68.11.80;
# 安全证书
ssl_certificate ../ssl/arcserver.crt;
ssl_certificate_key ../ssl/arcserver.rsa;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# 定位地址 http转https
location / {
proxy_pass http://192.168.1.128:6080/;
}
# arcgis api 实际访问地址
location /arcgis_api/ {
proxy_pass http://192.168.1.72:9006/;
}
# arcgis服务 重定向 (IP访问转域名访问)
location /arcgis/rest/services/ {
if ( $host != 'www.wmgis.com' ){
rewrite ^/(.*) https://www.wmgis.com:8081/$1 permanent;
}
proxy_pass http://192.168.1.128:6080/arcgis/rest/services/;
}
}
声明
1)文章来源项目实践,存在任何疑问或问题请留言,感谢您的阅读!
2)转载请标明来源!
最后
以上就是时尚航空为你收集整理的nginx代理ArcGIS服务需求分析:的全部内容,希望文章能够帮你解决nginx代理ArcGIS服务需求分析:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复