![Nginx 针对特定图像的 Hotliking 保护(nginx 作为反向代理)](https://linux22.com/image/639305/Nginx%20%E9%92%88%E5%AF%B9%E7%89%B9%E5%AE%9A%E5%9B%BE%E5%83%8F%E7%9A%84%20Hotliking%20%E4%BF%9D%E6%8A%A4%EF%BC%88nginx%20%E4%BD%9C%E4%B8%BA%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%EF%BC%89.png)
我正在使用 nginx 作为 apache 的反向代理。
我添加了此代码以防止热链接,到目前为止它运行良好。
#hotlinking protection
location ~* \.(png|gif|jpg|jpeg)$ {
valid_referers none blocked mydomain.com *.mydomain.com;
if ($invalid_referer){
return 403;
}
}
如何才能实现当有人尝试热链接图像时,他会得到一个特定的防热链接图像,而不是 403 错误?
我试过
return 301 h++p://i.imgur.com/mypicturename.png;
但它没有用。
我对 nginx 还不太了解,如能得到帮助我将非常感激!
答案1
您可以放一个改写规则在 if 里面,而不是 return。
有点像
rewrite (.*) http://i.imgur.com/mypicturename.png redirect;
可能会奏效。