通过nginx访问另一台服务器上的图片文件,绕开防盗链

1、nginx实现反向代理文件

假设想要通过服务器101访问服务器100上的图片,可以在服务器101的nginx上做如下配置:

server {
        listen 8000;
        #server_name 域名;
        location /uploaded{
                #rewrite /(.*)$ /$1 break;

                #autoindex on;
                proxy_pass http://192.168.1.100;
        }
}

 这样,服务器100上的1.jpg文件就可以通过服务器101进行访问了。

服务器100上的图片URL:

http://192.168.1.100/uploaded/img/1.jpg

服务器101的访问地址:

http://192.168.1.101/uploaded/img/1.jpg

2、绕开防盗链

当浏览器可以打开某个图片url,但是微信小程序无法打开,可能是资源服务器做了防盗链,设置了不带referer,或者referer是被代理的url的话,图片是可以获取的。

出现这种情况,

可以在代理服务器nginx上增加如下配置项

proxy_set_header referer 'https://www.bilibili.com/';  #其中https://www.bilibili.com是被放行的url

add_header Referrer-Policy no-referrer;

server {
        listen 8000;
        #server_name 域名;
        location /uploaded{
                #rewrite /(.*)$ /$1 break;

                #autoindex on;

                proxy_set_header referer 'https://www.bilibili.com/'; 
                proxy_pass http://192.168.1.100;
        }
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值