nginx 当本站图片出现404错误时,自动访问备用站点的图片

时间:2023年10月01日

/

来源:网络

/

编辑:佚名

你可以使用以下的Nginx配置来实现在本站图片返回404时,自动从备用站点获取图片:
http {
    upstream backup_images {
        server backup.example.com;
    }
    server {
        listen 80;
        server_name example.com;
        root /var/www/html;
        location /images/ {
            try_files $uri @backup;
        }
        location @backup {
            proxy_pass http://backup_images;
        }
    }
}
这个配置会将example.com的80端口监听并将所有请求转发到/var/www/html目录下。所有以/images/开头的请求将会被处理。如果本站点请求的图片不存在,Nginx会自动将请求转发到备用站点backup.example.com,从备用站点获取图片。
需要注意的是,这个配置使用了upstream模块来定义备用站点。如果你的Nginx版本没有内置upstream模块,需要手动编译Nginx时开启upstream模块。同时,由于代理的存在,备用站点必须配置CORS策略,允许example.com的访问。否则,浏览器将会拒绝请求备用站点的图片。
我的使用
我有两个站点,一个是主站,一个是图片备用站!
两个站图片相同,图片路径也相同!
由于备份主站时,图片太多,不想备份,所以便将图片分离了出来!
本站路径/d/file/下面便是图片存放了!
备用站路径也是这样,那么此刻伪静态规则这样写:
http {
    upstream backup_images {
        server example.com;
    }
    server {
        listen 80;
        server_name backup.example.com;
        root /var/www/html;
        location /d/file/ {
            try_files $uri @backup;
        }
        location @backup {
            proxy_pass http://backup_images;
        }
    }
}
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。