0%

a href link 打开的页面 403 错误的排查经历

我网站是 itnote.me,页面上有个链接,代码是这样的

1
<a href="https://files.itnote.me/XXX/xxx.mp3" target="_blank">下载文件</a>

结果通过页面跳转打开这个链接的时候,竟然 403 错误,我直接复制链接在浏览器中打开却能正常访问。

百思不得其解之下,我查了一下,可能和防盗链(跨域)有关,去看了一下 nginx 的配置

Nginx 反向代理配置文件参考

在 Nginx 文件夹下创建 conf 文件,用于反代。

1
2
3
4
5
6
location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ {
valid_referers none blocked *.itnote.me files.itnote.me;
if ($invalid_referer) {
return 403;
}
}

这段代码很有意思哈,虽然表明了 *.itnote.me files.itnote.me 是可以访问的,但是注意一下,没有表明 itnote.me 是可以访问的,这就造成了 a 标签元素打不开链接

很低级的错误。但挺有意思的,没想到 a 标签打开的页面再某些情况下也会触发防盗链(跨域)问题。