Mirrors 验证 ISO 下载
•
当使用浏览器(User Agent 中带有 Mozilla)下载科大 Mirrors 的 ISO 时,用户会被重定向到 iso.mirrors.ustc.edu.cn,这会是一个使用 javascript 设置 cookie 的转跳页面。最后用户会被转跳到 verify.iso.mirrors.ustc.edu.cn,此时会验证用户的 cookie 是否有效,无效则会返回 403 拒绝下载。
使用 Wget 等方式下载不受影响;教育网用户亦不受影响。
如果你在下载时出现问题,请与我们联系。
技术细节
server_name iso.mirrors.ustc.edu.cn;
location ~ \.iso$ {
types {}
default_type text/html;
content_by_lua '
local s1 = [[<meta content="0; url=http://verify.iso.mirrors.ustc.edu.cn%s" http-equiv="refresh"></meta>]] ..
[[<script>document.cookie="addr=%s;domain=.iso.mirrors.ustc.edu.cn";</script>]]
ngx.say(string.format(s1, ngx.var.uri, ngx.var.remote_addr))
';
}
server_name verify.iso.mirrors.ustc.edu.cn;
access_by_lua '
if ngx.var.cookie_addr == ngx.var.remote_addr then
return
else
ngx.exit(ngx.HTTP_FORBIDDEN)
end
';