当使用浏览器(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
';