需求:我们图片服务器放在内网环境,前端是nginx提供的web服务,让用户访问到内网服务器上的图片并正确显示
一、首先在内网图片服务器上安装配置nginx
安装过程省略
server{
listen 80 ;
server_name imglib.exapmle.com;
location ~* /udata/(.+)\.(jpg|gif|png|jpeg|p12)$ {
root /data/upload_file;
break;
}
}
备注:imglib.exapmle.com 是内网环境中自定义的域名,如果想让nginx走内网环境必须在 /etc/hosts 文件中做解析
二、在外网nginx服务器上配置
配置文件中添加
location ~ /udata/.*\.(jpg|gif|png|jpeg|p12)$ {
log_not_found off;
expires 7d ;
access_log off;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_pass http://imglib.exapmle.com;
}
同时也要在hosts文件中添加解析
这时通过外网的服务器就可以访问到内网服务器的图片了
实现方式也可以用nfs挂载的方式,但是如果nfs出现问题,影响的会所有挂载的服务器,所以我们用的nginx的代理方式。