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; ? ? ? ? } }
|