背景
在开发地图系统的时候,我们面临一个问题,就是当地图资源不存在的时候浏览器是直接报404错误的,这个错误导致了地图操作的卡顿问题,而且由于长时间的等待超时也影响着其他请求的发送.对此我们需要思考出一种能够解决加载报错和超时的解决方案.
我们首先想到的就是设置默认图片,这也是我最终使用的方法,就是通过nginx配置代理转发并设置超时时间,当超过超时时间时就返回默认的图片.具体的配置如下
http {
server {
listen 9999;
server_name localhost;
# 配置图片代理地址
location /vt/ {
proxy_pass http://mt1.google.com/vt/;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 设置超时时间为 15 秒
proxy_connect_timeout 15s;
proxy_read_timeout 15s;
# 配置错误转发地址
error_page 404 500 502 503 504 = /vt2.jpeg;
}
#
location =/vt2.jpeg {
# 默认图片
alias /home/xing/Pictures/123123123123.jpeg;
error_page 404 123123123123.jpeg;
}
}